nvim: Extend lsp for nvim lua development

Added new functionality to lsp: hovering, go-to definition, referencing,
implementations, etc accessible through the usual hotkeys.

Added commands to invoke LspHover and temporarily disable lsp for the
current buffer (is re-enabled on re-entering the buffer, e.g. with
:e<cr>)

Added tjdevries extended lua lsp implementation containing functionality
for the nvim api itself (especially useful for `vim.api`, `vim.fn`).
This commit is contained in:
Marty Oehme 2020-10-09 22:11:06 +02:00
parent 4dd80b7fe1
commit 2ad1389329
Signed by: Marty
GPG key ID: B7538B8F50A1C800
3 changed files with 38 additions and 11 deletions

View file

@ -1,12 +1,6 @@
lua << END
command! LspHover lua vim.lsp.buf.hover()<CR>
command! LspDisable lua vim.lsp.stop_client(vim.lsp.get_active_clients())<CR>
require'nvim_lsp'.pyls.setup{}
require'nvim_lsp'.vimls.setup{}
require'nvim_lsp'.bashls.setup{}
require'nvim_lsp'.gopls.setup{}
require'nvim_lsp'.texlab.setup{}
-- requires manual `:LspInstall sumneko_lua`
require'nvim_lsp'.sumneko_lua.setup{}
END
" actual LSP config takes place in lua ('lua/lsp')
lua require("nvim-lspconfig")
setlocal omnifunc=v:lua.vim.lsp.omnifunc