32 lines
1.7 KiB
Lua
32 lines
1.7 KiB
Lua
|
|
local on_attach = function(client, bufnr)
|
|
-- Keybindings for LSPs
|
|
-- Note these are in on_attach so that they don't override bindings in a non-LSP setting
|
|
vim.fn.nvim_set_keymap("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", {noremap = true, silent = true})
|
|
vim.fn.nvim_set_keymap("n", "gD", "<cmd>lua vim.lsp.buf.implementation()<CR>", {noremap = true, silent = true})
|
|
vim.fn.nvim_set_keymap("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", {noremap = true, silent = true})
|
|
vim.fn.nvim_set_keymap("n", "<c-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", {noremap = true, silent = true})
|
|
vim.fn.nvim_set_keymap("n", "1gD", "<cmd>lua vim.lsp.buf.type_definition()<CR>", {noremap = true, silent = true})
|
|
vim.fn.nvim_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", {noremap = true, silent = true})
|
|
vim.fn.nvim_set_keymap("n", "g0", "<cmd>lua vim.lsp.buf.document_symbol()<CR>", {noremap = true, silent = true})
|
|
vim.fn.nvim_set_keymap("n", "gW", "<cmd>lua vim.lsp.buf.workspace_symbol()<CR>", {noremap = true, silent = true})
|
|
end
|
|
|
|
require'nvim_lsp'.pyls.setup{on_attach=on_attach}
|
|
require'nvim_lsp'.vimls.setup{on_attach=on_attach}
|
|
require'nvim_lsp'.bashls.setup{on_attach=on_attach}
|
|
require'nvim_lsp'.gopls.setup{on_attach=on_attach}
|
|
require'nvim_lsp'.texlab.setup{on_attach=on_attach}
|
|
|
|
-- To get builtin LSP running, do something like:
|
|
-- NOTE: This replaces the calls where you would have before done `require('nvim_lsp').sumneko_lua.setup()`
|
|
require('nlua.lsp.nvim').setup(require('nvim_lsp'), {
|
|
on_attach = on_attach,
|
|
|
|
-- Include globals you want to tell the LSP are real :)
|
|
globals = {
|
|
-- Colorbuddy
|
|
"Color", "c", "Group", "g", "s",
|
|
}
|
|
})
|