diff options
| author | Joe <rrbo@proton.me> | 2023-09-22 15:07:14 +0200 | 
|---|---|---|
| committer | Joe <rrbo@proton.me> | 2023-09-22 15:07:14 +0200 | 
| commit | 727a6edc7545f6c47a8433c8c8cd9bc0423d0103 (patch) | |
| tree | bbedbce172f77a203d551688471d077384f54f15 /.config/nvim | |
| parent | up (diff) | |
| download | dotfiles-bsd-727a6edc7545f6c47a8433c8c8cd9bc0423d0103.tar.gz dotfiles-bsd-727a6edc7545f6c47a8433c8c8cd9bc0423d0103.tar.bz2 dotfiles-bsd-727a6edc7545f6c47a8433c8c8cd9bc0423d0103.tar.xz dotfiles-bsd-727a6edc7545f6c47a8433c8c8cd9bc0423d0103.tar.zst dotfiles-bsd-727a6edc7545f6c47a8433c8c8cd9bc0423d0103.zip | |
up
Diffstat (limited to '')
| -rw-r--r-- | .config/nvim/after/plugin/lsp.lua | 46 | ||||
| -rw-r--r-- | .config/nvim/after/plugin/whichkey.lua | 14 | ||||
| -rw-r--r-- | .config/nvim/lua/plug.lua | 10 | ||||
| -rw-r--r-- | .config/nvim/lua/sidebars.lua | 2 | 
4 files changed, 63 insertions, 9 deletions
| diff --git a/.config/nvim/after/plugin/lsp.lua b/.config/nvim/after/plugin/lsp.lua new file mode 100644 index 0000000..66d4ad8 --- /dev/null +++ b/.config/nvim/after/plugin/lsp.lua @@ -0,0 +1,46 @@ +local lsp = require('lsp-zero') + +lsp.preset('recommended') + +require('mason').setup({}) +require('mason-lspconfig').setup({ +	ensure_installed = { +		'tsserver', +		'eslint', +		'sumneko_lua', +		'ccls', +		'gopls', +		'rust_analyzer', +	}, +  handlers = { +    lsp_zero.default_setup, +  }, +}) + +local cmp = require('cmp') +local cmp_select = { behavior = cmp.SelectBehavior.Select } +local cmp_mappings = lsp.defaults.cmp_mappings({ +	['<C-p>'] = cmp.mapping.select_prev_item(cmp_select), +	['<C-n>'] = cmp.mapping.select_next_item(cmp_select), +	['<C-n>'] = cmp.mapping.confirm({ select = true }), +	['<C-Space>'] = cmp.mapping.complete(), +}) + +-- lsp.set_preferences({ +--     sign_icons = { } +-- }) + +lsp.on_attach(function(client, bufnr) +	local opts = { buffer = bufnr, remap = false } + +	vim.keymap.set('n', 'gd', function() vim.lsp.buf.definition() end, opts) +	vim.keymap.set('n', 'K', function() vim.lsp.buf.hover() end, opts) +	vim.keymap.set('n', '<leader>vws', function() vim.lsp.buf.workspace_symbol() end, opts) +	vim.keymap.set('n', '<leader>vd', function() vim.diagnostic.open_float() end, opts) +	vim.keymap.set('n', '[d', function() vim.diagnostic.goto_next() end, opts) +	vim.keymap.set('n', ']d', function() vim.diagnostic.goto_prev() end, opts) +	vim.keymap.set('n', '<leader>vca', function() vim.lsp.buf.code_actions() end, opts) +	vim.keymap.set('n', '<leader>vrr', function() vim.lsp.buf.references() end, opts) +	vim.keymap.set('n', '<leader>vrn', function() vim.lsp.buf.rename() end, opts) +	vim.keymap.set('i', '<C-h>', function() vim.lsp.buf.signature_help() end, opts) +end) diff --git a/.config/nvim/after/plugin/whichkey.lua b/.config/nvim/after/plugin/whichkey.lua index 7b74e73..de726b6 100644 --- a/.config/nvim/after/plugin/whichkey.lua +++ b/.config/nvim/after/plugin/whichkey.lua @@ -15,13 +15,10 @@ wk.register({  	G = { ':FloatermNew lazygit<CR>', 'lazygit', noremap = true, silent = true },  	h = { ':Startify<CR>', 'startify', noremap = true, silent = true },  	k = { ':w<CR>:bp<CR>:bd #<CR>', 'write and close buffer', noremap = true, silent = false }, -	p = { ':<C-u>CocList -A --normal yank<CR>', 'CoC paste', noremap = true, silent = true }, -	u = { ':UndotreeShow<CR>', 'undotree', noremap = true, silent = true }, +	u = { vim.cmd.UndotreeToggle, 'undotree', noremap = true, silent = true },  	v = { ':FloatermNew vifm<CR>', 'vifm', noremap = true, silent = true },  	w = { ':w<CR>', 'write buffer', noremap = true, silent = false },  	x = { ':w<CR>:bp<CR>:bd #<CR>', 'write and close buffer', noremap = true, silent = false }, -	q = { name = '+coc-fix-current' }, -	r = { name = '+coc-rename' },  	f = {  		name = 'telescope',  		-- f = { ':Telescope find_files<CR>', 'find files', noremap = true, silent = true }, @@ -32,10 +29,11 @@ wk.register({  		end, 'grep string', noremap = true, silent = true },  	},  	g = { -		name = 'grep', -		a = { ':Ag<CR>', 'the_silver_searcher', noremap = true, silent = true }, -		g = { ':Grep<CR>', 'grep', noremap = true, silent = true }, -		r = { ':Rg<CR>', 'ripgrep', noremap = true, silent = true }, +		name = 'git', +		s = { vim.cmd.Git, 'git' }, +		-- a = { ':Ag<CR>', 'the_silver_searcher', noremap = true, silent = true }, +		-- g = { ':Grep<CR>', 'grep', noremap = true, silent = true }, +		-- r = { ':Rg<CR>', 'ripgrep', noremap = true, silent = true },  	},  	v = {  		name = 'nvim', diff --git a/.config/nvim/lua/plug.lua b/.config/nvim/lua/plug.lua index 191637d..2b5bfd1 100644 --- a/.config/nvim/lua/plug.lua +++ b/.config/nvim/lua/plug.lua @@ -45,5 +45,15 @@ Plug('nvim-lua/plenary.nvim')  Plug('ThePrimeagen/harpoon')  Plug('HiPhish/rainbow-delimiters.nvim')  Plug('nvim-treesitter/nvim-treesitter', {['do'] = ':TSUpdate'}) +--  Uncomment these if you want to manage LSP servers from neovim + Plug('williamboman/mason.nvim') + Plug('williamboman/mason-lspconfig.nvim') +-- LSP Support +Plug('neovim/nvim-lspconfig') +-- Autocompletion +Plug('hrsh7th/nvim-cmp') +Plug('hrsh7th/cmp-nvim-lsp') +Plug('L3MON4D3/LuaSnip') +Plug('VonHeikemen/lsp-zero.nvim', {['branch'] = 'v3.x'})  vim.call('plug#end') diff --git a/.config/nvim/lua/sidebars.lua b/.config/nvim/lua/sidebars.lua index 058a673..796a21d 100644 --- a/.config/nvim/lua/sidebars.lua +++ b/.config/nvim/lua/sidebars.lua @@ -36,4 +36,4 @@ let g:startify_session_before_save = ['call sidebar#close_all()']  vim.keymap.set('n', '<F2>', ':call sidebar#toggle("nerdtree")<CR>', { noremap = true, silent = true })  vim.keymap.set('n', '<F4>', ':make<space>-j5<space>', { noremap = true, silent = false })  vim.keymap.set('n', '<F3>', ':call sidebar#toggle("tagbar")<CR>', { noremap = true, silent = true }) -vim.keymap.set('n', '<F5>', ':call sidebar#toggle("undotree")<CR>', { noremap = true, silent = true }) +vim.keymap.set('n', '<F5>', vim.cmd.UndotreeToggle, { noremap = true, silent = true }) | 
