mirror of
https://github.com/nix-community/nixvim.git
synced 2025-11-08 19:46:06 +01:00
plugins/navbuddy: migrate to mkNeovimPlugin
Signed-off-by: saygo-png <saygo.mail@proton.me>
This commit is contained in:
parent
c660702482
commit
92793f84ca
3 changed files with 279 additions and 367 deletions
|
|
@ -1,273 +1,32 @@
|
||||||
{
|
{ lib, ... }:
|
||||||
lib,
|
|
||||||
helpers,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib;
|
|
||||||
let
|
let
|
||||||
cfg = config.plugins.navbuddy;
|
inherit (lib.nixvim) nestedLiteralLua;
|
||||||
|
|
||||||
percentageType = types.ints.between 0 100;
|
|
||||||
mkPercentageOpt = default: helpers.defaultNullOpts.mkNullable percentageType (toString default);
|
|
||||||
in
|
in
|
||||||
{
|
lib.nixvim.plugins.mkNeovimPlugin {
|
||||||
options.plugins.navbuddy = lib.nixvim.plugins.neovim.extraOptionsOptions // {
|
name = "navbuddy";
|
||||||
enable = mkEnableOption "nvim-navbuddy";
|
package = "nvim-navbuddy";
|
||||||
|
moduleName = "nvim-navbuddy";
|
||||||
|
description = "A simple popup display that provides a breadcrumbs feature using an LSP server.";
|
||||||
|
maintainers = [ ];
|
||||||
|
|
||||||
package = lib.mkPackageOption pkgs "nvim-navbuddy" {
|
# TODO: introduced 2025-10-10: remove after 26.05
|
||||||
default = [
|
inherit (import ./deprecations.nix lib) deprecateExtraOptions optionsRenamedToSettings imports;
|
||||||
"vimPlugins"
|
|
||||||
"nvim-navbuddy"
|
settingsExample = {
|
||||||
];
|
lsp.auto_attach = true;
|
||||||
|
use_default_mapping = true;
|
||||||
|
mappings = {
|
||||||
|
"<esc>" = nestedLiteralLua "require('nvim-navbuddy.actions').close()";
|
||||||
|
"q" = nestedLiteralLua "require('nvim-navbuddy.actions').close()";
|
||||||
|
"j" = nestedLiteralLua "require('nvim-navbuddy.actions').next_sibling()";
|
||||||
|
"k" = nestedLiteralLua "require('nvim-navbuddy.actions').previous_sibling()";
|
||||||
|
"<C-v>" = nestedLiteralLua "require('nvim-navbuddy.actions').vsplit()";
|
||||||
|
"<C-s>" = nestedLiteralLua "require('nvim-navbuddy.actions').hsplit()";
|
||||||
};
|
};
|
||||||
|
icons = {
|
||||||
window = {
|
Array = "> ";
|
||||||
border = helpers.defaultNullOpts.mkBorder "rounded" "window border" ''
|
Boolean = "> ";
|
||||||
"rounded", "double", "solid", "none" or an array with eight chars building up the border in a clockwise fashion
|
Class = "> ";
|
||||||
starting with the top-left corner. eg: { "╔", "═" ,"╗", "║", "╝", "═", "╚", "║" }.
|
|
||||||
'';
|
|
||||||
|
|
||||||
size = helpers.defaultNullOpts.mkNullable (
|
|
||||||
with types;
|
|
||||||
either percentageType (submodule {
|
|
||||||
options = {
|
|
||||||
height = mkPercentageOpt 40 "The height size (in %).";
|
|
||||||
|
|
||||||
width = mkPercentageOpt 100 "The width size (in %).";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
) 60 "The size of the window.";
|
|
||||||
|
|
||||||
position = helpers.defaultNullOpts.mkNullable (
|
|
||||||
with types;
|
|
||||||
either percentageType (submodule {
|
|
||||||
options = {
|
|
||||||
height = mkPercentageOpt 40 "The height size (in %).";
|
|
||||||
|
|
||||||
width = mkPercentageOpt 100 "The width size (in %).";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
) 50 "The position of the window.";
|
|
||||||
|
|
||||||
scrolloff = helpers.mkNullOrOption types.int ''
|
|
||||||
scrolloff value within navbuddy window
|
|
||||||
'';
|
|
||||||
|
|
||||||
sections = {
|
|
||||||
left = {
|
|
||||||
size = mkPercentageOpt 20 "The height size (in %).";
|
|
||||||
|
|
||||||
border = helpers.defaultNullOpts.mkBorder "rounded" "left section border" ''
|
|
||||||
"rounded", "double", "solid", "none" or an array with eight chars building up the border in a clockwise fashion
|
|
||||||
starting with the top-left corner. eg: { "╔", "═" ,"╗", "║", "╝", "═", "╚", "║" }.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
mid = {
|
|
||||||
size = mkPercentageOpt 40 "The height size (in %).";
|
|
||||||
|
|
||||||
border = helpers.defaultNullOpts.mkBorder "rounded" "mid section border" ''
|
|
||||||
"rounded", "double", "solid", "none" or an array with eight chars building up the border in a clockwise fashion
|
|
||||||
starting with the top-left corner. eg: { "╔", "═" ,"╗", "║", "╝", "═", "╚", "║" }.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
right = {
|
|
||||||
border = helpers.defaultNullOpts.mkBorder "rounded" "right section border" ''
|
|
||||||
"rounded", "double", "solid", "none" or an array with eight chars building up the border in a clockwise fashion
|
|
||||||
starting with the top-left corner. eg: { "╔", "═" ,"╗", "║", "╝", "═", "╚", "║" }.
|
|
||||||
'';
|
|
||||||
|
|
||||||
preview =
|
|
||||||
helpers.defaultNullOpts.mkEnumFirstDefault
|
|
||||||
[
|
|
||||||
"leaf"
|
|
||||||
"always"
|
|
||||||
"never"
|
|
||||||
]
|
|
||||||
''
|
|
||||||
Right section can show previews too.
|
|
||||||
Options: "leaf", "always" or "never"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nodeMarkers = {
|
|
||||||
enabled = helpers.defaultNullOpts.mkBool true "Enable node markers.";
|
|
||||||
|
|
||||||
icons = {
|
|
||||||
leaf = helpers.defaultNullOpts.mkStr " " ''
|
|
||||||
The icon to use for leaf nodes.
|
|
||||||
'';
|
|
||||||
|
|
||||||
leafSelected = helpers.defaultNullOpts.mkStr " → " ''
|
|
||||||
The icon to use for selected leaf node.
|
|
||||||
'';
|
|
||||||
|
|
||||||
branch = helpers.defaultNullOpts.mkStr " " ''
|
|
||||||
The icon to use for branch nodes.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
icons = mapAttrs (name: default: helpers.defaultNullOpts.mkStr default "icon for ${name}.") {
|
|
||||||
File = " ";
|
|
||||||
Module = " ";
|
|
||||||
Namespace = " ";
|
|
||||||
Package = " ";
|
|
||||||
Class = " ";
|
|
||||||
Method = " ";
|
|
||||||
Property = " ";
|
|
||||||
Field = " ";
|
|
||||||
Constructor = " ";
|
|
||||||
Enum = "";
|
|
||||||
Interface = "";
|
|
||||||
Function = " ";
|
|
||||||
Variable = " ";
|
|
||||||
Constant = " ";
|
|
||||||
String = " ";
|
|
||||||
Number = " ";
|
|
||||||
Boolean = "◩ ";
|
|
||||||
Array = " ";
|
|
||||||
Object = " ";
|
|
||||||
Key = " ";
|
|
||||||
Null = " ";
|
|
||||||
EnumMember = " ";
|
|
||||||
Struct = " ";
|
|
||||||
Event = " ";
|
|
||||||
Operator = " ";
|
|
||||||
TypeParameter = " ";
|
|
||||||
};
|
|
||||||
|
|
||||||
useDefaultMapping = helpers.defaultNullOpts.mkBool true ''
|
|
||||||
If set to false, only mappings set by user are set. Else default mappings are used for keys that are not set by user
|
|
||||||
'';
|
|
||||||
|
|
||||||
keymapsSilent = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
description = "Whether navbuddy keymaps should be silent";
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
mappings =
|
|
||||||
helpers.defaultNullOpts.mkAttrsOf types.str
|
|
||||||
{
|
|
||||||
"<esc>" = "close";
|
|
||||||
"q" = "close";
|
|
||||||
"j" = "next_sibling";
|
|
||||||
"k" = "previous_sibling";
|
|
||||||
|
|
||||||
"h" = "parent";
|
|
||||||
"l" = "children";
|
|
||||||
"0" = "root";
|
|
||||||
|
|
||||||
"v" = "visual_name";
|
|
||||||
"V" = "visual_scope";
|
|
||||||
|
|
||||||
"y" = "yank_name";
|
|
||||||
"Y" = "yank_scope";
|
|
||||||
|
|
||||||
"i" = "insert_name";
|
|
||||||
"I" = "insert_scope";
|
|
||||||
|
|
||||||
"a" = "append_name";
|
|
||||||
"A" = "append_scope";
|
|
||||||
|
|
||||||
"r" = "rename";
|
|
||||||
|
|
||||||
"d" = "delete";
|
|
||||||
|
|
||||||
"f" = "fold_create";
|
|
||||||
"F" = "fold_delete";
|
|
||||||
|
|
||||||
"c" = "comment";
|
|
||||||
|
|
||||||
"<enter>" = "select";
|
|
||||||
"o" = "select";
|
|
||||||
"J" = "move_down";
|
|
||||||
"K" = "move_up";
|
|
||||||
|
|
||||||
"s" = "toggle_preview";
|
|
||||||
|
|
||||||
"<C-v>" = "vsplit";
|
|
||||||
"<C-s>" = "hsplit";
|
|
||||||
}
|
|
||||||
''
|
|
||||||
Actions to be triggered for specified keybindings. It can take either action name i.e `toggle_preview`
|
|
||||||
Or it can a `rawLua`.
|
|
||||||
'';
|
|
||||||
|
|
||||||
lsp = {
|
|
||||||
autoAttach = helpers.defaultNullOpts.mkBool false ''
|
|
||||||
If set to true, you don't need to manually use attach function
|
|
||||||
'';
|
|
||||||
|
|
||||||
preference = helpers.mkNullOrOption (with types; listOf str) ''
|
|
||||||
list of lsp server names in order of preference
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
sourceBuffer = {
|
|
||||||
followNode = helpers.defaultNullOpts.mkBool true "Keep the current node in focus on the source buffer";
|
|
||||||
|
|
||||||
highlight = helpers.defaultNullOpts.mkBool true "Highlight the currently focused node";
|
|
||||||
|
|
||||||
reorient =
|
|
||||||
helpers.defaultNullOpts.mkEnumFirstDefault
|
|
||||||
[
|
|
||||||
"smart"
|
|
||||||
"top"
|
|
||||||
"mid"
|
|
||||||
"none"
|
|
||||||
]
|
|
||||||
''
|
|
||||||
Right section can show previews too.
|
|
||||||
Options: "leaf", "always" or "never"
|
|
||||||
'';
|
|
||||||
|
|
||||||
scrolloff = helpers.defaultNullOpts.mkInt null ''
|
|
||||||
scrolloff value when navbuddy is open.
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config =
|
|
||||||
let
|
|
||||||
setupOptions =
|
|
||||||
with cfg;
|
|
||||||
{
|
|
||||||
inherit window;
|
|
||||||
node_markers = with nodeMarkers; {
|
|
||||||
inherit enabled;
|
|
||||||
icons = with icons; {
|
|
||||||
inherit leaf branch;
|
|
||||||
leaf_selected = leafSelected;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
inherit icons;
|
|
||||||
use_default_mapping = useDefaultMapping;
|
|
||||||
lsp = with lsp; {
|
|
||||||
auto_attach = autoAttach;
|
|
||||||
inherit preference;
|
|
||||||
};
|
|
||||||
source_buffer = sourceBuffer;
|
|
||||||
mappings = helpers.ifNonNull' cfg.mappings (
|
|
||||||
mapAttrs (
|
|
||||||
key: action: if isString action then helpers.mkRaw "actions.${action}()" else action
|
|
||||||
) mappings
|
|
||||||
);
|
|
||||||
}
|
|
||||||
// cfg.extraOptions;
|
|
||||||
in
|
|
||||||
mkIf cfg.enable {
|
|
||||||
extraPlugins = [ cfg.package ];
|
|
||||||
|
|
||||||
extraConfigLua = ''
|
|
||||||
local actions = require("nvim-navbuddy.actions")
|
|
||||||
require('nvim-navbuddy').setup(${lib.nixvim.toLuaObject setupOptions})
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
114
plugins/by-name/navbuddy/deprecations.nix
Normal file
114
plugins/by-name/navbuddy/deprecations.nix
Normal file
|
|
@ -0,0 +1,114 @@
|
||||||
|
lib:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
const
|
||||||
|
genAttrs
|
||||||
|
mapAttrs
|
||||||
|
;
|
||||||
|
inherit (lib.nixvim) ifNonNull' mkRaw;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
deprecateExtraOptions = true;
|
||||||
|
|
||||||
|
optionsRenamedToSettings =
|
||||||
|
map (lib.splitString ".") [
|
||||||
|
"window.border"
|
||||||
|
"window.size"
|
||||||
|
"window.position"
|
||||||
|
"window.scrolloff"
|
||||||
|
"window.sections.left.size"
|
||||||
|
"window.sections.left.border"
|
||||||
|
"window.sections.mid.size"
|
||||||
|
"window.sections.mid.border"
|
||||||
|
"window.sections.right.border"
|
||||||
|
"window.sections.right.preview"
|
||||||
|
|
||||||
|
"nodeMarkers.enabled"
|
||||||
|
"nodeMarkers.icons.leaf"
|
||||||
|
"nodeMarkers.icons.leafSelected"
|
||||||
|
"nodeMarkers.icons.branch"
|
||||||
|
"useDefaultMapping"
|
||||||
|
|
||||||
|
"lsp.autoAttach"
|
||||||
|
"lsp.preference"
|
||||||
|
|
||||||
|
"sourceBuffer.followNode"
|
||||||
|
"sourceBuffer.highlight"
|
||||||
|
"sourceBuffer.reorient"
|
||||||
|
"sourceBuffer.scrolloff"
|
||||||
|
]
|
||||||
|
# Move icons to settings without changing case as icons are PascalCase in the plugin config
|
||||||
|
++
|
||||||
|
map
|
||||||
|
(
|
||||||
|
x:
|
||||||
|
genAttrs [ "old" "new" ] (const [
|
||||||
|
"icons"
|
||||||
|
x
|
||||||
|
])
|
||||||
|
)
|
||||||
|
[
|
||||||
|
"File"
|
||||||
|
"Module"
|
||||||
|
"Namespace"
|
||||||
|
"Package"
|
||||||
|
"Class"
|
||||||
|
"Method"
|
||||||
|
"Property"
|
||||||
|
"Field"
|
||||||
|
"Constructor"
|
||||||
|
"Enum"
|
||||||
|
"Interface"
|
||||||
|
"Function"
|
||||||
|
"Variable"
|
||||||
|
"Constant"
|
||||||
|
"String"
|
||||||
|
"Number"
|
||||||
|
"Boolean"
|
||||||
|
"Array"
|
||||||
|
"Object"
|
||||||
|
"Key"
|
||||||
|
"Null"
|
||||||
|
"EnumMember"
|
||||||
|
"Struct"
|
||||||
|
"Event"
|
||||||
|
"Operator"
|
||||||
|
"TypeParameter"
|
||||||
|
];
|
||||||
|
|
||||||
|
imports =
|
||||||
|
let
|
||||||
|
basePathAnd = lib.concat [
|
||||||
|
"plugins"
|
||||||
|
"navbuddy"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
[
|
||||||
|
(lib.mkRemovedOptionModule (basePathAnd [ "keymapsSilent" ]) ''
|
||||||
|
This option has never had any effect.
|
||||||
|
Please remove it.
|
||||||
|
'')
|
||||||
|
(
|
||||||
|
let
|
||||||
|
oldOptPath = basePathAnd [ "mappings" ];
|
||||||
|
in
|
||||||
|
lib.mkChangedOptionModule oldOptPath
|
||||||
|
(basePathAnd [
|
||||||
|
"settings"
|
||||||
|
"mappings"
|
||||||
|
])
|
||||||
|
(
|
||||||
|
config:
|
||||||
|
let
|
||||||
|
old = lib.getAttrFromPath oldOptPath config;
|
||||||
|
in
|
||||||
|
ifNonNull' old (
|
||||||
|
mapAttrs (
|
||||||
|
_: action:
|
||||||
|
if builtins.isString action then mkRaw "require('nvim-navbuddy.actions').${action}()" else action
|
||||||
|
) old
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -3,114 +3,153 @@
|
||||||
plugins.navbuddy.enable = true;
|
plugins.navbuddy.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
example = {
|
||||||
|
plugins.navbuddy = {
|
||||||
|
settings = {
|
||||||
|
lsp.auto_attach = true;
|
||||||
|
use_default_mapping = true;
|
||||||
|
mappings = {
|
||||||
|
"<esc>".__raw = "require('nvim-navbuddy.actions').close()";
|
||||||
|
"q".__raw = "require('nvim-navbuddy.actions').close()";
|
||||||
|
"j".__raw = "require('nvim-navbuddy.actions').next_sibling()";
|
||||||
|
"k".__raw = "require('nvim-navbuddy.actions').previous_sibling()";
|
||||||
|
"<C-v>".__raw = "require('nvim-navbuddy.actions').vsplit()";
|
||||||
|
"<C-s>".__raw = "require('nvim-navbuddy.actions').hsplit()";
|
||||||
|
};
|
||||||
|
icons = {
|
||||||
|
Array = "> ";
|
||||||
|
Boolean = "> ";
|
||||||
|
Class = "> ";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
defaults = {
|
defaults = {
|
||||||
plugins.navbuddy = {
|
plugins.navbuddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
settings = {
|
||||||
window = {
|
window = {
|
||||||
border = "rounded";
|
border = "single";
|
||||||
size = {
|
size = "60%";
|
||||||
height = 50;
|
position = "50%";
|
||||||
width = 50;
|
scrolloff.__raw = "nil";
|
||||||
};
|
sections = {
|
||||||
position = {
|
left = {
|
||||||
height = 50;
|
border.__raw = "nil";
|
||||||
width = 50;
|
size = "20%";
|
||||||
};
|
win_options.__raw = "nil";
|
||||||
scrolloff = 8;
|
};
|
||||||
sections = {
|
mid = {
|
||||||
left = {
|
border.__raw = "nil";
|
||||||
size = 50;
|
size = "40%";
|
||||||
border = "rounded";
|
win_options.__empty = { };
|
||||||
};
|
};
|
||||||
mid = {
|
right = {
|
||||||
size = 50;
|
border.__raw = "nil";
|
||||||
border = "rounded";
|
preview = "leaf";
|
||||||
};
|
win_options.__raw = "nil";
|
||||||
right = {
|
};
|
||||||
preview = "always";
|
|
||||||
border = "rounded";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
nodeMarkers = {
|
|
||||||
enabled = true;
|
|
||||||
icons = {
|
icons = {
|
||||||
leaf = " ... ";
|
"1" = " ";
|
||||||
leafSelected = " ";
|
"2" = " ";
|
||||||
branch = " ";
|
"3" = " ";
|
||||||
|
"4" = " ";
|
||||||
|
"5" = " ";
|
||||||
|
"6" = " ";
|
||||||
|
"7" = " ";
|
||||||
|
"8" = " ";
|
||||||
|
"9" = " ";
|
||||||
|
"10" = "";
|
||||||
|
"11" = "";
|
||||||
|
"12" = " ";
|
||||||
|
"13" = " ";
|
||||||
|
"14" = " ";
|
||||||
|
"15" = " ";
|
||||||
|
"16" = " ";
|
||||||
|
"17" = "◩ ";
|
||||||
|
"18" = " ";
|
||||||
|
"19" = " ";
|
||||||
|
"20" = " ";
|
||||||
|
"21" = " ";
|
||||||
|
"22" = " ";
|
||||||
|
"23" = " ";
|
||||||
|
"24" = " ";
|
||||||
|
"25" = " ";
|
||||||
|
"26" = " ";
|
||||||
|
"255" = " ";
|
||||||
};
|
};
|
||||||
};
|
use_default_mappings = true;
|
||||||
icons = {
|
integrations = {
|
||||||
File = " ";
|
telescope.__raw = "nil";
|
||||||
Module = " ";
|
snacks.__raw = "nil";
|
||||||
Namespace = " ";
|
};
|
||||||
Package = " ";
|
mappings = {
|
||||||
Class = " ";
|
"<esc>".__raw = "require('nvim-navbuddy.actions').close()";
|
||||||
Method = " ";
|
q.__raw = "require('nvim-navbuddy.actions').close()";
|
||||||
Property = " ";
|
|
||||||
Field = " ";
|
j.__raw = "require('nvim-navbuddy.actions').next_sibling()";
|
||||||
Constructor = " ";
|
k.__raw = "require('nvim-navbuddy.actions').previous_sibling()";
|
||||||
Enum = "";
|
|
||||||
Interface = "";
|
h.__raw = "require('nvim-navbuddy.actions').parent()";
|
||||||
Function = " ";
|
l.__raw = "require('nvim-navbuddy.actions').children()";
|
||||||
Variable = " ";
|
"0".__raw = "require('nvim-navbuddy.actions').root()";
|
||||||
Constant = " ";
|
|
||||||
String = " ";
|
v.__raw = "require('nvim-navbuddy.actions').visual_name()";
|
||||||
Number = " ";
|
V.__raw = "require('nvim-navbuddy.actions').visual_scope()";
|
||||||
Boolean = "◩ ";
|
|
||||||
Array = " ";
|
y.__raw = "require('nvim-navbuddy.actions').yank_name()";
|
||||||
Object = " ";
|
Y.__raw = "require('nvim-navbuddy.actions').yank_scope()";
|
||||||
Key = " ";
|
|
||||||
Null = " ";
|
i.__raw = "require('nvim-navbuddy.actions').insert_name()";
|
||||||
EnumMember = " ";
|
I.__raw = "require('nvim-navbuddy.actions').insert_scope()";
|
||||||
Struct = " ";
|
|
||||||
Event = " ";
|
a.__raw = "require('nvim-navbuddy.actions').append_name()";
|
||||||
Operator = " ";
|
A.__raw = "require('nvim-navbuddy.actions').append_scope()";
|
||||||
TypeParameter = " ";
|
|
||||||
};
|
r.__raw = "require('nvim-navbuddy.actions').rename()";
|
||||||
useDefaultMapping = false;
|
|
||||||
mappings = {
|
d.__raw = "require('nvim-navbuddy.actions').delete()";
|
||||||
"<esc>" = "close";
|
|
||||||
"q" = "close";
|
f.__raw = "require('nvim-navbuddy.actions').fold_create()";
|
||||||
"j" = "next_sibling";
|
F.__raw = "require('nvim-navbuddy.actions').fold_delete()";
|
||||||
"k" = "previous_sibling";
|
|
||||||
"h" = "parent";
|
c.__raw = "require('nvim-navbuddy.actions').comment()";
|
||||||
"l" = "children";
|
|
||||||
"0" = "root";
|
"<enter>".__raw = "require('nvim-navbuddy.actions').select()";
|
||||||
"v" = "visual_name";
|
o.__raw = "require('nvim-navbuddy.actions').select()";
|
||||||
"V" = "visual_scope";
|
|
||||||
"y" = "yank_name";
|
J.__raw = "require('nvim-navbuddy.actions').move_down()";
|
||||||
"Y" = "yank_scope";
|
K.__raw = "require('nvim-navbuddy.actions').move_up()";
|
||||||
"i" = "insert_name";
|
|
||||||
"I" = "insert_scope";
|
s.__raw = "require('nvim-navbuddy.actions').toggle_preview()";
|
||||||
"a" = "append_name";
|
|
||||||
"A" = "append_scope";
|
"<C-v>".__raw = "require('nvim-navbuddy.actions').vsplit()";
|
||||||
"r" = "rename";
|
"<C-s>".__raw = "require('nvim-navbuddy.actions').hsplit()";
|
||||||
"d" = "delete";
|
|
||||||
"f" = "fold_create";
|
"g?".__raw = "require('nvim-navbuddy.actions').help()";
|
||||||
"F" = "fold_delete";
|
};
|
||||||
"c" = "comment";
|
lsp = {
|
||||||
"<enter>" = "select";
|
auto_attach = false;
|
||||||
"o" = "select";
|
preference.__raw = "nil";
|
||||||
"J" = "move_down";
|
};
|
||||||
"K" = "move_up";
|
source_buffer = {
|
||||||
"s" = "toggle_preview";
|
follow_node = true;
|
||||||
"<C-v>" = "vsplit";
|
highlight = true;
|
||||||
"<C-s>" = "hsplit";
|
reorient = "smart";
|
||||||
};
|
scrolloff.__raw = "nil";
|
||||||
lsp = {
|
};
|
||||||
autoAttach = true;
|
node_markers = {
|
||||||
preference = [
|
enabled = true;
|
||||||
"clang"
|
icons = {
|
||||||
"pyright"
|
leaf = " ";
|
||||||
];
|
leaf_selected = " → ";
|
||||||
};
|
branch = " ";
|
||||||
sourceBuffer = {
|
};
|
||||||
followNode = true;
|
};
|
||||||
highlight = true;
|
custom_hl_group.__raw = "nil";
|
||||||
reorient = "top";
|
|
||||||
scrolloff = 8;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue