-
-
Notifications
You must be signed in to change notification settings - Fork 300
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
plugins/dap-virtual-text: migrate to mkNeovimPlugin
- Loading branch information
1 parent
85e494b
commit 5e16f2d
Showing
6 changed files
with
142 additions
and
137 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
{ | ||
lib, | ||
... | ||
}: | ||
let | ||
inherit (lib.nixvim) defaultNullOpts; | ||
in | ||
lib.nixvim.plugins.mkNeovimPlugin { | ||
name = "dap-virtual-text"; | ||
moduleName = "nvim-dap-virtual-text"; | ||
packPathName = "nvim-dap-virtual-text"; | ||
package = "nvim-dap-virtual-text"; | ||
|
||
maintainers = [ lib.maintainers.khaneliman ]; | ||
|
||
settingsOptions = { | ||
enabled_commands = defaultNullOpts.mkBool true '' | ||
Create commands `DapVirtualTextEnable`, `DapVirtualTextDisable`, `DapVirtualTextToggle`. | ||
(`DapVirtualTextForceRefresh` for refreshing when debug adapter did not notify its termination). | ||
''; | ||
|
||
highlight_changed_variables = defaultNullOpts.mkBool true '' | ||
Highlight changed values with `NvimDapVirtualTextChanged`, else always `NvimDapVirtualText`. | ||
''; | ||
|
||
highlight_new_as_changed = defaultNullOpts.mkBool false '' | ||
Highlight new variables in the same way as changed variables (if highlight_changed_variables). | ||
''; | ||
|
||
show_stop_reason = defaultNullOpts.mkBool true "Show stop reason when stopped for exceptions."; | ||
|
||
commented = defaultNullOpts.mkBool false "Prefix virtual text with comment string."; | ||
|
||
only_first_definition = defaultNullOpts.mkBool true "Only show virtual text at first definition (if there are multiple)."; | ||
|
||
all_references = defaultNullOpts.mkBool false "Show virtual text on all references of the variable (not only definitions)."; | ||
|
||
clear_on_continue = defaultNullOpts.mkBool false "Clear virtual text on `continue` (might cause flickering when stepping)."; | ||
|
||
display_callback = defaultNullOpts.mkLuaFn '' | ||
function(variable, buf, stackframe, node, options) | ||
if options.virt_text_pos == 'inline' then | ||
return ' = ' .. variable.value | ||
else | ||
return variable.name .. ' = ' .. variable.value | ||
end | ||
end, | ||
'' "A callback that determines how a variable is displayed or whether it should be omitted."; | ||
|
||
virt_text_pos = defaultNullOpts.mkStr "vim.fn.has 'nvim-0.10' == 1 and 'inline' or 'eol'" '' | ||
Position of virtual text, see `:h nvim_buf_set_extmark()`. | ||
Default tries to inline the virtual text. Use 'eol' to set to end of line. | ||
''; | ||
|
||
all_frames = defaultNullOpts.mkBool false "Show virtual text for all stack frames not only current."; | ||
|
||
virt_lines = defaultNullOpts.mkBool false "Show virtual lines instead of virtual text (will flicker!)."; | ||
|
||
virt_text_win_col = lib.nixvim.mkNullOrOption lib.types.int '' | ||
Position the virtual text at a fixed window column (starting from the first text column). | ||
See `:h nvim_buf_set_extmark()`. | ||
''; | ||
}; | ||
|
||
# NOTE: Renames added in https://github.com/nix-community/nixvim/pull/2897 (2025-01-26) | ||
imports = [ ./deprecations.nix ]; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
{ lib, ... }: | ||
let | ||
oldPluginBasePath = [ | ||
"plugins" | ||
"dap" | ||
"extensions" | ||
"dap-virtual-text" | ||
]; | ||
newPluginBasePath = [ | ||
"plugins" | ||
"dap-virtual-text" | ||
]; | ||
|
||
settingsPath = newPluginBasePath ++ [ "settings" ]; | ||
|
||
renamedOptions = [ | ||
[ "enabledCommands" ] | ||
[ "highlightChangedVariables" ] | ||
[ "highlightNewAsChanged" ] | ||
[ "showStopReason" ] | ||
[ "commented" ] | ||
[ "onlyFirstDefinition" ] | ||
[ "allReferences" ] | ||
[ "clearOnContinue" ] | ||
[ "displayCallback" ] | ||
[ "virtTextPos" ] | ||
[ "allFrames" ] | ||
[ "virtLines" ] | ||
[ "virtTextWinCol" ] | ||
]; | ||
|
||
renameWarnings = | ||
lib.nixvim.mkSettingsRenamedOptionModules oldPluginBasePath settingsPath | ||
renamedOptions; | ||
in | ||
{ | ||
imports = renameWarnings ++ [ | ||
(lib.mkRenamedOptionModule (oldPluginBasePath ++ [ "enable" ]) (newPluginBasePath ++ [ "enable" ])) | ||
]; | ||
} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
34 changes: 34 additions & 0 deletions
34
tests/test-sources/plugins/by-name/dap-virtual-text/default.nix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
{ | ||
empty = { | ||
plugins.dap-virtual-text.enable = true; | ||
}; | ||
|
||
default = { | ||
plugins.dap-virtual-text = { | ||
enable = true; | ||
|
||
settings = { | ||
enabled_commands = true; | ||
highlight_changed_variables = true; | ||
highlight_new_as_changed = true; | ||
show_stop_reason = true; | ||
commented = false; | ||
only_first_definition = true; | ||
all_references = false; | ||
clear_on_continue = false; | ||
display_callback = '' | ||
function(variable, buf, stackframe, node, options) | ||
if options.virt_text_pos == 'inline' then | ||
return ' = ' .. variable.value | ||
else | ||
return variable.name .. ' = ' .. variable.value | ||
end | ||
end | ||
''; | ||
virt_text_pos = "eol"; | ||
all_frames = false; | ||
virt_lines = false; | ||
}; | ||
}; | ||
}; | ||
} |
32 changes: 0 additions & 32 deletions
32
tests/test-sources/plugins/by-name/dap/dap-virtual-text.nix
This file was deleted.
Oops, something went wrong.