summary refs log tree commit diff
path: root/.vim/lua/plugins/_lsp.lua
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2021-02-20 21:27:26 +0100
committerRobert Günzler <r@gnzler.io>2021-04-26 02:09:43 +0200
commit1996ef15613f2d4773017128bba1a719a1b63a19 (patch)
treeaa291b56947f0f710c96c62758990de3b2939bba /.vim/lua/plugins/_lsp.lua
parent30451238df36d238fea816f01ca987853c6562a5 (diff)
Move to lua based vimrc
Diffstat (limited to '')
-rw-r--r--.vim/lua/plugins/_lsp.lua (renamed from .vim/lua/conf/lsp.lua)57
1 files changed, 42 insertions, 15 deletions
diff --git a/.vim/lua/conf/lsp.lua b/.vim/lua/plugins/_lsp.lua
index 4249de5..9d98aca 100644
--- a/.vim/lua/conf/lsp.lua
+++ b/.vim/lua/plugins/_lsp.lua
@@ -1,21 +1,33 @@
 -- lsp config
 
-local lsp     = require 'lspconfig'
-local util    = require 'lspconfig.util'
+local lsp     = require('lspconfig')
+local util    = require('lspconfig.util')
+local u       = require('utils')
 
-local function my_attach(client)
+-- https://github.com/kosayoda/nvim-lightbulb
+require('nvim-lightbulb').update_lightbulb {
+	sign = {
+		enabled = true,
+		priority = 10,
+	},
+	float = {
+		enabled = true,
+		text = '󱉵',
+		win_opts = {},
+	},
+}
+
+local my_attach = function(client)
 	-- attach completion
 	require 'completion'.on_attach(client)
 
-	-- do lsp mappings
-	vim.fn.nvim_buf_set_keymap(0, 'n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>',
-		{noremap=true, silent=true})
-	vim.fn.nvim_buf_set_keymap(0, 'n', '<c-]>', '<cmd>lua vim.lsp.buf.definition()<cr>',
-		{noremap=true, silent=true})
-	vim.fn.nvim_buf_set_keymap(0, 'n', 'grr', '<cmd>lua vim.lsp.buf.rename()<cr>',
-		{noremap=true, silent=true})
-	vim.fn.nvim_buf_set_keymap(0, 'i', '<c-h>', '<cmd>lua vim.lsp.buf.signature_help()<cr>',
-		{noremap=true, silent=true})
+	-- lsp mappings
+	u.map('n', 'K',     '<cmd>lua vim.lsp.buf.hover()<cr>')
+	u.map(0, 'n', '<c-]>', '<cmd>lua vim.lsp.buf.definition()<cr>')
+	u.map(0, 'n', 'grr',   '<cmd>lua vim.lsp.buf.rename()<cr>')
+	u.map(0, 'i', '<c-h>', '<cmd>lua vim.lsp.buf.signature_help()<cr>')
+	u.map(0, 'n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<cr>')
+	u.map(0, 'n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>')
 
 	-- nnoremap <silent> gD <cmd> lua vim.lsp.buf.declaration()<CR>
 	-- nnoremap <silent> gd <cmd> lua vim.lsp.buf.definition()<CR>
@@ -40,12 +52,27 @@ lsp.gopls.setup{
 }
 
 lsp.sumneko_lua.setup{
-	cmd = { 'lua-language-server' };
 	on_attach = my_attach;
+	cmd = { 'lua-language-server' };
+	settings = {
+		Lua = {
+			runtime = {
+				version = 'LuaJIT',
+			},
+			diagnostics = {
+				globals = {'vim'},
+			},
+			workspace = {
+				library = {
+					[vim.fn.expand('$VIMRUNTIME/lua')] = true,
+					[vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true,
+				}
+			}
+		}
+	},
 }
 
 lsp.rust_analyzer.setup{
-	cmd = { 'env', 'CARGO_TARGET_DIR=/tmp', 'rust-analyzer' },
 	on_attach = my_attach,
-
+	cmd = { 'env', 'CARGO_TARGET_DIR=/tmp', 'rust-analyzer' },
 }