124 lines
2.8 KiB
Nix
124 lines
2.8 KiB
Nix
{
|
|
programs.nixvim.plugins = {
|
|
lsp-format = {
|
|
enable = true;
|
|
};
|
|
lsp = {
|
|
enable = true;
|
|
inlayHints = true;
|
|
servers = {
|
|
html = {
|
|
enable = true;
|
|
};
|
|
lua_ls = {
|
|
enable = true;
|
|
};
|
|
# nil-ls = {
|
|
# enable = true;
|
|
# };
|
|
nixd = {
|
|
enable = true;
|
|
extraOptions = {
|
|
nixos = {
|
|
expr = "(builtins.getFlake \"/etc/nixos\").nixosConfigurations.aurelionite.options";
|
|
};
|
|
home_manager = {
|
|
expr = "(builtins.getFlake \"/etc/nixos\").homeConfigurations.aurelionite.options";
|
|
};
|
|
};
|
|
};
|
|
marksman = {
|
|
enable = true;
|
|
};
|
|
pyright = {
|
|
enable = true;
|
|
};
|
|
gopls = {
|
|
enable = true;
|
|
};
|
|
terraformls = {
|
|
enable = true;
|
|
};
|
|
yamlls = {
|
|
enable = true;
|
|
};
|
|
};
|
|
keymaps = {
|
|
silent = true;
|
|
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";
|
|
};
|
|
# Use LSP saga keybinding instead
|
|
# K = {
|
|
# action = "hover";
|
|
# desc = "Hover";
|
|
# };
|
|
# "<leader>cw" = {
|
|
# action = "workspace_symbol";
|
|
# desc = "Workspace Symbol";
|
|
# };
|
|
"<leader>cr" = {
|
|
action = "rename";
|
|
desc = "Rename";
|
|
};
|
|
};
|
|
# diagnostic = {
|
|
# "<leader>cd" = {
|
|
# action = "open_float";
|
|
# desc = "Line Diagnostics";
|
|
# };
|
|
# "[d" = {
|
|
# action = "goto_next";
|
|
# desc = "Next Diagnostic";
|
|
# };
|
|
# "]d" = {
|
|
# action = "goto_prev";
|
|
# desc = "Previous Diagnostic";
|
|
# };
|
|
# };
|
|
};
|
|
};
|
|
};
|
|
extraConfigLua = ''
|
|
local _border = "rounded"
|
|
|
|
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(
|
|
vim.lsp.handlers.hover, {
|
|
border = _border
|
|
}
|
|
)
|
|
|
|
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(
|
|
vim.lsp.handlers.signature_help, {
|
|
border = _border
|
|
}
|
|
)
|
|
|
|
vim.diagnostic.config{
|
|
float={border=_border}
|
|
};
|
|
|
|
require('lspconfig.ui.windows').default_options = {
|
|
border = _border
|
|
}
|
|
'';
|
|
}
|