Skip to content

Commit 4d1bd37

Browse files
committed
plugins/dap: migrate to mkNeovimPlugin
1 parent 216ae2b commit 4d1bd37

File tree

1 file changed

+48
-50
lines changed

1 file changed

+48
-50
lines changed

plugins/by-name/dap/default.nix

Lines changed: 48 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,34 @@
11
{
22
lib,
3-
config,
4-
pkgs,
53
...
64
}:
75
let
86
inherit (lib)
9-
mkEnableOption
107
mkOption
11-
optionalString
128
types
139
;
1410

15-
cfg = config.plugins.dap;
16-
1711
dapHelpers = import ./dapHelpers.nix { inherit lib; };
1812
inherit (dapHelpers) mkSignOption;
1913
in
20-
{
14+
lib.nixvim.plugins.mkNeovimPlugin {
2115
imports = [
2216
./dap-go.nix
2317
./dap-python.nix
2418
./dap-ui.nix
2519
./dap-virtual-text.nix
2620
];
2721

28-
options.plugins.dap = lib.nixvim.plugins.neovim.extraOptionsOptions // {
29-
enable = mkEnableOption "dap";
22+
name = "dap";
23+
package = "nvim-dap";
24+
packPathName = "nvim-dap";
3025

31-
package = lib.mkPackageOption pkgs "dap" {
32-
default = [
33-
"vimPlugins"
34-
"nvim-dap"
35-
];
36-
};
26+
maintainers = [ lib.maintainers.khaneliman ];
27+
28+
# Added 2025-01-26
29+
deprecateExtraOptions = true;
3730

31+
extraOptions = {
3832
adapters = lib.nixvim.mkCompositeOption "Dap adapters." {
3933
executables = dapHelpers.mkAdapterOption "executable" dapHelpers.executableAdapterOption;
4034
servers = dapHelpers.mkAdapterOption "server" dapHelpers.serverAdapterOption;
@@ -43,7 +37,7 @@ in
4337
configurations =
4438
lib.nixvim.mkNullOrOption (with types; attrsOf (listOf dapHelpers.configurationOption))
4539
''
46-
Debuggee configurations, see `:h dap-configuration` for more info.
40+
Debugger configurations, see `:h dap-configuration` for more info.
4741
'';
4842

4943
signs = lib.nixvim.mkCompositeOption "Signs for dap." {
@@ -68,47 +62,51 @@ in
6862
};
6963
};
7064

71-
config =
65+
# Separate configuration and adapter configurations
66+
callSetup = false;
67+
extraConfig =
68+
cfg:
7269
let
73-
options =
74-
with cfg;
75-
{
76-
inherit configurations;
77-
78-
adapters =
79-
(lib.optionalAttrs (adapters.executables != null) (
80-
dapHelpers.processAdapters "executable" adapters.executables
81-
))
82-
// (lib.optionalAttrs (adapters.servers != null) (
83-
dapHelpers.processAdapters "server" adapters.servers
84-
));
85-
86-
signs = with signs; {
87-
DapBreakpoint = dapBreakpoint;
88-
DapBreakpointCondition = dapBreakpointCondition;
89-
DapLogPoint = dapLogPoint;
90-
DapStopped = dapStopped;
91-
DapBreakpointRejected = dapBreakpointRejected;
92-
};
93-
}
94-
// cfg.extraOptions;
70+
options = {
71+
inherit (cfg) configurations;
72+
73+
adapters =
74+
(lib.optionalAttrs (cfg.adapters.executables != null) (
75+
dapHelpers.processAdapters "executable" cfg.adapters.executables
76+
))
77+
// (lib.optionalAttrs (cfg.adapters.servers != null) (
78+
dapHelpers.processAdapters "server" cfg.adapters.servers
79+
));
80+
81+
signs = with cfg.signs; {
82+
DapBreakpoint = dapBreakpoint;
83+
DapBreakpointCondition = dapBreakpointCondition;
84+
DapLogPoint = dapLogPoint;
85+
DapStopped = dapStopped;
86+
DapBreakpointRejected = dapBreakpointRejected;
87+
};
88+
} // cfg.settings;
9589
in
96-
lib.mkIf cfg.enable {
97-
extraPlugins = [ cfg.package ];
98-
99-
extraConfigLua =
100-
(optionalString (cfg.adapters != null) ''
90+
{
91+
plugins.dap.luaConfig.content = lib.mkMerge [
92+
(lib.mkIf (cfg.adapters != null) ''
10193
require("dap").adapters = ${lib.nixvim.toLuaObject options.adapters}
10294
'')
103-
+ (optionalString (options.configurations != null) ''
95+
(lib.mkIf (options.configurations != null) ''
10496
require("dap").configurations = ${lib.nixvim.toLuaObject options.configurations}
10597
'')
106-
+ (optionalString (cfg.signs != null) ''
107-
local __dap_signs = ${lib.nixvim.toLuaObject options.signs}
108-
for sign_name, sign in pairs(__dap_signs) do
109-
vim.fn.sign_define(sign_name, sign)
98+
(lib.mkIf (cfg.signs != null) ''
99+
do
100+
local __dap_signs = ${lib.nixvim.toLuaObject options.signs}
101+
102+
for sign_name, sign in pairs(__dap_signs) do
103+
vim.fn.sign_define(sign_name, sign)
104+
end
110105
end
111106
'')
112-
+ cfg.extensionConfigLua;
107+
''
108+
${cfg.extensionConfigLua}
109+
''
110+
];
113111
};
114112
}

0 commit comments

Comments
 (0)