diff options
| author | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2024-10-03 22:03:12 +0530 |
|---|---|---|
| committer | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2024-10-03 22:03:12 +0530 |
| commit | 1474caa8f624aa568ea011629d1aec4ae2aca3c1 (patch) | |
| tree | 52ba6bda3c8b2b7839543e71271931122b587900 /modules/tools/editor/neovim/plugins/config/lsp-config.lua | |
| parent | 6349cff878c36336ed9027423aaebf98ac883501 (diff) | |
| download | home-manager-config-1474caa8f624aa568ea011629d1aec4ae2aca3c1.tar.gz home-manager-config-1474caa8f624aa568ea011629d1aec4ae2aca3c1.zip | |
Using fzf as the application launcher.
Diffstat (limited to 'modules/tools/editor/neovim/plugins/config/lsp-config.lua')
| -rw-r--r-- | modules/tools/editor/neovim/plugins/config/lsp-config.lua | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/modules/tools/editor/neovim/plugins/config/lsp-config.lua b/modules/tools/editor/neovim/plugins/config/lsp-config.lua index 88f063d..d440c67 100644 --- a/modules/tools/editor/neovim/plugins/config/lsp-config.lua +++ b/modules/tools/editor/neovim/plugins/config/lsp-config.lua @@ -45,23 +45,24 @@ local lsp_setup_done = {}; -- Function to setup LSP based on filetype local function setup_lsp(filetype) local lsp = filetype_to_lsp[filetype]; - if lsp and not lsp_setup_done[lsp.server] then + if lsp ~= nil and not lsp_setup_done[lsp.server] then lsp_setup_done[lsp.server] = true; - if vim.fn.executable(lsp.executable) then + if vim.fn.executable(lsp.executable) == 1 then lspconfig[lsp.server].setup({}); - vim.lsp.start(); end end end -vim.keymap.set("n", "gd", vim.lsp.buf.definition, { noremap = true, silent = true }); -vim.keymap.set("n", "gi", vim.lsp.buf.implementation, { noremap = true, silent = true }); -vim.keymap.set("n", "gr", vim.lsp.buf.references, { noremap = true, silent = true }); -vim.keymap.set("n", "gk", vim.lsp.buf.hover, { noremap = true, silent = true }); - vim.api.nvim_create_autocmd("FileType", { pattern = "*", -- Match all file types callback = function() setup_lsp(vim.bo.filetype); -- Call the setup_lsp function only if the filetype is in the mapping end, }); + +local lsp_keymap_opts = { noremap = true, silent = true }; + +vim.keymap.set("n", "<leader>d", vim.lsp.buf.definition, lsp_keymap_opts); +vim.keymap.set("n", "<leader>i", vim.lsp.buf.implementation, lsp_keymap_opts); +vim.keymap.set("n", "<leader>r", vim.lsp.buf.references, lsp_keymap_opts); +vim.keymap.set("n", "<leader>k", vim.lsp.buf.hover, lsp_keymap_opts); |
