Skip to content

Commit c251df3

Browse files
committed
Add clangd debugging flags
1 parent 143d348 commit c251df3

File tree

4 files changed

+21
-2
lines changed

4 files changed

+21
-2
lines changed

modules/kernels/cpp/default.nix

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ let
2424
common = callPackage ../common.nix {};
2525

2626
languageServers = lib.optionals settings.lsp.clangd.enable
27-
[(callPackage ./language_server_clangd { inherit kernelName llvmPackages system cling; })];
27+
[(callPackage ./language_server_clangd {
28+
inherit kernelName llvmPackages system cling;
29+
settings = settings.lsp.clangd;
30+
})];
2831

2932
displaySuffix = {
3033
"c++17" = " 17";

modules/kernels/cpp/language_server_clangd/default.nix

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
, cling
88

99
, kernelName
10+
, settings
1011
}:
1112

1213
let
@@ -45,6 +46,9 @@ common.writeTextDirWithMetaAndPassthru clangd.meta passthru "lib/codedown/langua
4546
args = [
4647
"${cnls-wrapped}/bin/cpp-notebook-language-server"
4748
"--wrapped-server" "${clangd}/bin/clangd"
48-
];
49+
]
50+
++ lib.optionals settings.debug ["--log-level" "debug"]
51+
++ lib.optionals settings.super-debug ["--debug-client-writes" "--debug-client-reads" "--debug-server-writes" "--debug-server-reads"]
52+
;
4953
language_id = "cpp";
5054
}])

modules/kernels/cpp/module.nix

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,16 @@ in
6363
type = types.bool;
6464
default = true;
6565
};
66+
lsp.clangd.debug = mkOption {
67+
example = "Clangd: enable debug output";
68+
type = types.bool;
69+
default = false;
70+
};
71+
lsp.clangd.super-debug = mkOption {
72+
example = "Clangd: enable verbose debug output";
73+
type = types.bool;
74+
default = false;
75+
};
6676
};
6777
};
6878

tests/app/Spec/Tests/Cpp.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ kernelSpecWithLsp :: Text -> NixKernelSpec
5959
kernelSpecWithLsp flavor = kernelSpec' [
6060
[i|flavor = "#{flavor}"|]
6161
, "lsp.clangd.enable = true"
62+
, "lsp.clangd.debug = true"
63+
-- , "lsp.clangd.super-debug = true"
6264
]
6365

6466
kernelSpec' :: [Text] -> NixKernelSpec

0 commit comments

Comments
 (0)