diff --git a/lua/lspconfig/lua.lua b/lua/lspconfig/lua.lua index 3aa1bc2..3b93643 100644 --- a/lua/lspconfig/lua.lua +++ b/lua/lspconfig/lua.lua @@ -2,9 +2,10 @@ vim.cmd [[packadd nvim-lspconfig]] vim.cmd [[packadd nvim-compe]] function on_attach(client) - local function buf_set_keymap(...) + local function map(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end @@ -12,28 +13,28 @@ function on_attach(client) buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") -- Mappings. - local opts = {noremap = true, silent = true} - buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) - buf_set_keymap("n", "gd", "lua vim.lsp.buf.definition()", opts) - buf_set_keymap("n", "K", "lua vim.lsp.buf.hover()", opts) - buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) - buf_set_keymap("n", "", "lua vim.lsp.buf.signature_help()", opts) - buf_set_keymap("n", "wa", "lua vim.lsp.buf.add_workspace_folder()", opts) - buf_set_keymap("n", "wr", "lua vim.lsp.buf.remove_workspace_folder()", opts) - buf_set_keymap("n", "wl", "lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))", opts) - buf_set_keymap("n", "D", "lua vim.lsp.buf.type_definition()", opts) - buf_set_keymap("n", "rn", "lua vim.lsp.buf.rename()", opts) - buf_set_keymap("n", "gr", "lua vim.lsp.buf.references()", opts) - buf_set_keymap("n", "e", "lua vim.lsp.diagnostic.show_line_diagnostics()", opts) - buf_set_keymap("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) - buf_set_keymap("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) - buf_set_keymap("n", "q", "lua vim.lsp.diagnostic.set_loclist()", opts) + local opts = {noremap = true, silent = true, normal = true} + map("gD", "lua vim.lsp.buf.declaration()", opts) + map("gd", "lua vim.lsp.buf.definition()", opts) + map("K", "lua vim.lsp.buf.hover()", opts) + map("gi", "lua vim.lsp.buf.implementation()", opts) + map("", "lua vim.lsp.buf.signature_help()", opts) + map("wa", "lua vim.lsp.buf.add_workspace_folder()", opts) + map("wr", "lua vim.lsp.buf.remove_workspace_folder()", opts) + map("wl", "lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))", opts) + map("D", "lua vim.lsp.buf.type_definition()", opts) + map("rn", "lua vim.lsp.buf.rename()", opts) + map("gr", "lua vim.lsp.buf.references()", opts) + map("e", "lua vim.lsp.diagnostic.show_line_diagnostics()", opts) + map("[d", "lua vim.lsp.diagnostic.goto_prev()", opts) + map("]d", "lua vim.lsp.diagnostic.goto_next()", opts) + map("q", "lua vim.lsp.diagnostic.set_loclist()", opts) -- Set some keybinds conditional on server capabilities if client.resolved_capabilities.document_formatting then - buf_set_keymap("n", "f", "lua vim.lsp.buf.formatting()", opts) + map("f", "lua vim.lsp.buf.formatting()", opts) elseif client.resolved_capabilities.document_range_formatting then - buf_set_keymap("n", "f", "lua vim.lsp.buf.range_formatting()", opts) + map("f", "lua vim.lsp.buf.range_formatting()", opts) end end @@ -69,7 +70,10 @@ require "lspconfig".sumneko_lua.setup { globals = {"vim"} }, workspace = { - library = {[vim.fn.expand("$VIMRUNTIME/lua")] = true, [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true} + library = { + [vim.fn.expand("$VIMRUNTIME/lua")] = true, + [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true + } }, telemetry = { enable = false