blob: 8be4c995a3cf441820d619b135caf6b5ee8a8071 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# Language Server Protocol configuration
{ config, lib, ... }:
let
cfg = config.development.nixvim;
in
{
config.programs.nixvim = lib.mkIf cfg.enable {
plugins.lsp = {
enable = true;
inlayHints = true;
autoLoad = true;
keymaps = {
lspBuf = {
"<leader>lh" = "hover";
"<leader>lr" = "references";
"<leader>ld" = "definition";
"<leader>li" = "implementation";
"<leader>lt" = "type_definition";
"<leader>lD" = "declaration";
"<leader>lR" = "rename";
"<leader>la" = "code_action";
"<leader>lf" = "format";
"<leader>ls" = "signature_help";
"<leader>lwa" = "add_workspace_folder";
"<leader>lwr" = "remove_workspace_folder";
"<leader>lwl" = "list_workspace_folders";
};
diagnostic = {
"<leader>le" = "open_float";
"<leader>lq" = "setloclist";
"[d" = "goto_prev";
"]d" = "goto_next";
};
};
};
autoCmd = [
{
event = [ "CursorHold" ];
pattern = "*";
callback.__raw = builtins.readFile ./open-diagnostic-float.lua;
}
];
};
}
|