aboutsummaryrefslogtreecommitdiffstats
path: root/modules/tools/editor/neovim/plugins/config/lsp-config.lua
diff options
context:
space:
mode:
authorArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2024-10-03 22:03:12 +0530
committerArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2024-10-03 22:03:12 +0530
commit1474caa8f624aa568ea011629d1aec4ae2aca3c1 (patch)
tree52ba6bda3c8b2b7839543e71271931122b587900 /modules/tools/editor/neovim/plugins/config/lsp-config.lua
parent6349cff878c36336ed9027423aaebf98ac883501 (diff)
downloadhome-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.lua17
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);