2026-04-10 13:04:12 -04:00
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
...
|
|
|
|
|
}: let
|
2024-03-12 03:46:29 +03:00
|
|
|
inherit (lib.options) mkEnableOption;
|
2026-04-10 13:04:12 -04:00
|
|
|
inherit (config.vim.lib) mkMappingOption;
|
2023-10-22 21:38:14 +02:00
|
|
|
in {
|
2023-02-27 22:25:39 +03:00
|
|
|
options.vim.lsp = {
|
2023-04-17 23:27:27 +03:00
|
|
|
formatOnSave = mkEnableOption "format on save";
|
2025-05-04 17:58:22 +03:00
|
|
|
|
2025-04-05 01:32:58 +00:00
|
|
|
inlayHints = {
|
|
|
|
|
enable = mkEnableOption "inlay hints";
|
|
|
|
|
};
|
2025-05-04 17:58:22 +03:00
|
|
|
|
2023-10-22 21:38:14 +02:00
|
|
|
mappings = {
|
2026-04-10 13:04:12 -04:00
|
|
|
goToDefinition = mkMappingOption "Go to definition" "<leader>lgd";
|
|
|
|
|
goToDeclaration = mkMappingOption "Go to declaration" "<leader>lgD";
|
|
|
|
|
goToType = mkMappingOption "Go to type" "<leader>lgt";
|
|
|
|
|
listImplementations = mkMappingOption "List implementations" "<leader>lgi";
|
|
|
|
|
listReferences = mkMappingOption "List references" "<leader>lgr";
|
|
|
|
|
nextDiagnostic = mkMappingOption "Go to next diagnostic" "<leader>lgn";
|
|
|
|
|
previousDiagnostic = mkMappingOption "Go to previous diagnostic" "<leader>lgp";
|
|
|
|
|
openDiagnosticFloat = mkMappingOption "Open diagnostic float" "<leader>le";
|
|
|
|
|
documentHighlight = mkMappingOption "Document highlight" "<leader>lH";
|
|
|
|
|
listDocumentSymbols = mkMappingOption "List document symbols" "<leader>lS";
|
|
|
|
|
addWorkspaceFolder = mkMappingOption "Add workspace folder" "<leader>lwa";
|
|
|
|
|
removeWorkspaceFolder = mkMappingOption "Remove workspace folder" "<leader>lwr";
|
|
|
|
|
listWorkspaceFolders = mkMappingOption "List workspace folders" "<leader>lwl";
|
|
|
|
|
listWorkspaceSymbols = mkMappingOption "List workspace symbols" "<leader>lws";
|
|
|
|
|
hover = mkMappingOption "Trigger hover" "<leader>lh";
|
|
|
|
|
signatureHelp = mkMappingOption "Signature help" "<leader>ls";
|
|
|
|
|
renameSymbol = mkMappingOption "Rename symbol" "<leader>ln";
|
|
|
|
|
codeAction = mkMappingOption "Code action" "<leader>la";
|
|
|
|
|
format = mkMappingOption "Format" "<leader>lf";
|
|
|
|
|
toggleFormatOnSave = mkMappingOption "Toggle format on save" "<leader>ltf";
|
2023-10-22 21:38:14 +02:00
|
|
|
};
|
2023-02-27 22:25:39 +03:00
|
|
|
};
|
|
|
|
|
}
|