Skip to content

Commit b3ce64c

Browse files
committed
feature(dap/lsp): Add dotnet configuration
1 parent 18b2762 commit b3ce64c

8 files changed

Lines changed: 103 additions & 38 deletions

File tree

config/autocmds.nix

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,24 @@
1111
{name = "filetypes";}
1212
];
1313
vim.autocmds = [
14-
{
15-
desc = "Roslyn init";
16-
event = ["FileType"];
17-
group = "filetypes";
18-
pattern = ["cs"];
19-
callback =
20-
lib.generators.mkLuaInline
21-
/*
22-
lua
23-
*/
24-
''
25-
function()
26-
require("easy-dotnet").setup()
27-
require("roslyn").setup({
28-
exe = 'Microsoft.CodeAnalysis.LanguageServer',
29-
})
30-
end'';
31-
}
14+
# {
15+
# desc = "Roslyn init";
16+
# event = ["FileType"];
17+
# group = "filetypes";
18+
# pattern = ["cs"];
19+
# callback =
20+
# lib.generators.mkLuaInline
21+
# /*
22+
# lua
23+
# */
24+
# ''
25+
# function()
26+
# require("easy-dotnet").setup()
27+
# require("roslyn").setup({
28+
# exe = 'Microsoft.CodeAnalysis.LanguageServer',
29+
# })
30+
# end'';
31+
# }
3232
{
3333
desc = "Haskell mappings";
3434
event = ["FileType"];

config/languages/lsp.nix

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,19 @@
1010
"ng.nvim" = mkDashDefault {
1111
package = ng-nvim;
1212
};
13+
"roslyn.nvim" = mkDashDefault {
14+
package = roslyn-nvim;
15+
setupModule = "roslyn";
16+
setupOpts = {
17+
exe = "Microsoft.CodeAnalysis.LanguageServer";
18+
};
19+
ft = ["cs"];
20+
};
21+
"easy-dotnet.nvim" = mkDashDefault {
22+
package = easy-dotnet-nvim;
23+
setupModule = "easy-dotnet";
24+
ft = ["cs"];
25+
};
1326
};
1427
lsp = {
1528
enable = true;
@@ -23,6 +36,11 @@
2336
cmd = ["${pkgs.vscode-langservers-extracted}/bin/vscode-json-language-server" "--stdio"];
2437
filetypes = ["json" "jsonc"];
2538
};
39+
# csharp = mkDashDefault {
40+
# enable = true;
41+
# cmd = ["${pkgs.roslyn-ls}/bin/" "--stdio"];
42+
# filetypes = ["json" "jsonc"];
43+
# };
2644
angular = mkDashDefault {
2745
enable = true;
2846
cmd = ["${pkgs.angular-language-server}/bin/ngserver" "--stdio"];

config/lua/dap.lua

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
local dap = require("dap")
22

3-
require("dap").adapters["pwa-node"] = {
3+
dap.adapters["pwa-node"] = {
44
type = "server",
55
host = "localhost",
66
port = "${port}",
@@ -10,7 +10,7 @@ require("dap").adapters["pwa-node"] = {
1010
},
1111
}
1212

13-
require("dap").adapters["pwa-chrome"] = {
13+
dap.adapters["pwa-chrome"] = {
1414
type = "server",
1515
host = "localhost",
1616
port = "9222",
@@ -20,6 +20,24 @@ require("dap").adapters["pwa-chrome"] = {
2020
},
2121
}
2222

23+
dap.adapters["coreclr"] = {
24+
type = "executable",
25+
command = "netcoredbg",
26+
args = { "--interpreter=vscode" },
27+
}
28+
29+
dap.configurations.cs = {
30+
{
31+
type = "coreclr",
32+
name = "Debug .Net",
33+
request = "launch",
34+
program = function()
35+
return vim.fn.input("Path to dll", vim.fn.getcwd() .. "/bin/Debug/", "file")
36+
end,
37+
},
38+
}
39+
dap.configurations.fsharp = dap.configurations.cs
40+
2341
dap.configurations.typescript = {
2442
{
2543
type = "pwa-chrome",

flake.lock

Lines changed: 18 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
description = "A nixvim configuration";
33
inputs = {
44
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
5+
stable.url = "github:NixOs/nixpkgs/nixos-25.05";
56
nvf.url = "github:notashelf/nvf";
67
flake-parts.url = "github:hercules-ci/flake-parts";
78
base16.url = "github:SenchoPens/base16.nix";
@@ -31,7 +32,13 @@
3132
lib,
3233
...
3334
}: let
34-
deps = import ./lib/dependencies.nix pkgs;
35+
stable = import inputs.stable {
36+
inherit system;
37+
config = {
38+
allowBroken = true;
39+
};
40+
};
41+
deps = import ./lib/dependencies.nix {inherit pkgs stable;};
3542
customConfig =
3643
lib.attrsets.overrideExisting
3744
orig.config.programs.dashvim
@@ -48,19 +55,22 @@
4855
};
4956
};
5057
package = import ./lib {
51-
inherit system inputs pkgs lib;
58+
inherit system inputs pkgs lib stable;
5259
config' = orig.config.programs.dashvim;
5360
};
5461
custom = import ./lib {
55-
inherit system inputs pkgs lib;
62+
inherit system inputs pkgs lib stable;
5663
config' = customConfig;
5764
};
5865
in {
59-
_module.args.pkgs = import inputs.nixpkgs {
60-
inherit system;
61-
config = {
62-
allowBroken = true;
66+
_module.args = {
67+
pkgs = import inputs.nixpkgs {
68+
inherit system;
69+
config = {
70+
allowBroken = true;
71+
};
6372
};
73+
inherit stable;
6474
};
6575
devShells.default = pkgs.mkShell {
6676
packages = with pkgs;
@@ -74,7 +84,7 @@
7484
default = package.neovim;
7585
minimal = custom.neovim;
7686
docs = import ./docs {
77-
inherit inputs pkgs lib;
87+
inherit inputs pkgs lib stable;
7888
};
7989
};
8090
};

hm/default.nix

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@ self: {
22
lib,
33
config,
44
pkgs,
5+
stable,
56
options,
67
...
78
}: let
89
config' = config.programs.dashvim;
910
inherit (pkgs.stdenv.hostPlatform) system;
10-
deps = import ../lib/dependencies.nix pkgs;
11+
deps = import ../lib/dependencies.nix {inherit pkgs stable;};
1112
dashvim = import ../lib {
12-
inherit system pkgs config' lib;
13+
inherit system pkgs config' lib stable;
1314
inherit (self) inputs;
1415
};
1516
in {
@@ -34,7 +35,7 @@ in {
3435
home.packages =
3536
[
3637
(lib.mkIf (config'.package != null) config'.package)
37-
pkgs.roslyn-ls
38+
stable.roslyn-ls
3839
pkgs.yazi
3940
pkgs.ripgrep
4041
pkgs.fd

lib/dependencies.nix

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1-
pkgs:
1+
{
2+
pkgs,
3+
stable,
4+
...
5+
}:
26
with pkgs; [
3-
roslyn-ls
7+
netcoredbg
8+
stable.roslyn-ls
49
vscode-js-debug
510
yazi
611
ripgrep

modules/default.nix

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,6 @@
207207
enable = true;
208208
lsp.enable = true;
209209
};
210-
csharp = {
211-
enable = true;
212-
lsp.enable = true;
213-
};
214210
fsharp = {
215211
enable = true;
216212
lsp.enable = true;

0 commit comments

Comments
 (0)