nixos/home/common/core/nixvim/plugins/lsp.nix

60 lines
1.5 KiB
Nix

{
programs.nixvim.plugins = {
lsp = {
enable = true;
servers = {
lua-ls = { enable = true; };
nixd = { enable = true; };
bashls = { enable = true; };
pyright = { enable = true; };
html = { enable = true; };
marksman = { enable = true; };
ccls = { enable = true; };
cssls = { enable = true; };
r-language-server = { enable = true; };
tsserver = { enable = true; };
};
keymaps = {
lspBuf = {
gd = {
action = "definition";
desc = "Goto Definition";
};
gr = {
action = "references";
desc = "Goto References";
};
gD = {
action = "declaration";
desc = "Goto Declaration";
};
gI = {
action = "implementation";
desc = "Goto Implementation";
};
gT = {
action = "type_definition";
desc = "Type Definition";
};
K = {
action = "hover";
desc = "Hover";
};
"<leader>cw" = {
action = "workspace_symbol";
desc = "Workspace Symbol";
};
"<leader>cr" = {
action = "rename";
desc = "Rename";
};
};
};
};
# TODO: enable otter.nvim when merged into nixvim stable
# otter = {
# enable = true;
# };
};
}