mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-22 21:30:51 +00:00
dev: rewrite view section of nvimtree config
This commit is contained in:
parent
bb6b138027
commit
83a8308ed5
2 changed files with 131 additions and 120 deletions
|
@ -142,20 +142,26 @@ in {
|
|||
select_prompts = ${boolToString cfg.selectPrompts},
|
||||
|
||||
view = {
|
||||
width = ${nvim.lua.expToLua cfg.view.width},
|
||||
centralize_selection = ${boolToString cfg.view.centralizeSelection},
|
||||
cursorline = ${boolToString cfg.view.cursorline},
|
||||
debounce_delay = ${toString cfg.view.debounceDelay},
|
||||
width = ${nvim.lua.expToLua cfg.view.width},
|
||||
side = "${cfg.view.side}",
|
||||
preserve_window_proportions = ${boolToString cfg.view.preserveWindowProportions},
|
||||
number = ${boolToString cfg.view.number},
|
||||
relativenumber = ${boolToString cfg.view.relativeNumber},
|
||||
signcolumn = ${cfg.view.signcolumn},
|
||||
|
||||
relativenumber = ${boolToString cfg.view.relativenumber},
|
||||
signcolumn = "${cfg.view.signcolumn}",
|
||||
float = {
|
||||
enable = ${boolToString cfg.view.float.enable},
|
||||
quit_on_focus_loss = ${boolToString cfg.view.float.quitOnFocusLoss},
|
||||
open_win_config = ${nvim.lua.expToLua cfg.view.float.openWinConfig},
|
||||
open_win_config = {
|
||||
relative = "${cfg.view.float.openWinConfig.relative}",
|
||||
border = "${cfg.view.float.openWinConfig.border}",
|
||||
width = ${toString cfg.view.float.openWinConfig.width},
|
||||
height = ${toString cfg.view.float.openWinConfig.height},
|
||||
row = ${toString cfg.view.float.openWinConfig.row},
|
||||
col = ${toString cfg.view.float.openWinConfig.col},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
|
@ -174,6 +180,9 @@ in {
|
|||
icons = ${nvim.lua.expToLua cfg.renderer.indentMarkers.icons},
|
||||
},
|
||||
|
||||
special_files = ${nvim.lua.listToLuaTable cfg.renderer.specialFiles},
|
||||
symlink_destination = ${boolToString cfg.renderer.symlinkDestination},
|
||||
|
||||
icons = {
|
||||
webdev_colors = ${boolToString cfg.renderer.icons.webdevColors},
|
||||
git_placement = "${cfg.renderer.icons.gitPlacement}",
|
||||
|
@ -216,9 +225,8 @@ in {
|
|||
},
|
||||
},
|
||||
},
|
||||
special_files = ${nvim.lua.listToLuaTable cfg.renderer.specialFiles},
|
||||
symlink_destination = ${boolToString cfg.renderer.symlinkDestination},
|
||||
},
|
||||
|
||||
filters = {
|
||||
git_ignored = ${boolToString cfg.filters.gitIgnored},
|
||||
dotfiles = ${boolToString cfg.filters.dotfiles},
|
||||
|
@ -226,9 +234,11 @@ in {
|
|||
no_buffer = ${boolToString cfg.filters.noBuffer},
|
||||
exclude = ${nvim.lua.listToLuaTable cfg.filters.exclude},
|
||||
},
|
||||
|
||||
trash = {
|
||||
cmd = "${cfg.trash.cmd}",
|
||||
},
|
||||
|
||||
actions = {
|
||||
use_system_clipboard = ${boolToString cfg.actions.useSystemClipboard},
|
||||
change_dir = {
|
||||
|
|
|
@ -369,30 +369,38 @@ with builtins; {
|
|||
|
||||
view = mkOption {
|
||||
description = "Window / buffer setup.";
|
||||
|
||||
default = {
|
||||
centralizeSelection = false;
|
||||
cursorline = false;
|
||||
debounceDelay = 100;
|
||||
cursorline = true;
|
||||
debounceDelay = 15;
|
||||
width = 30;
|
||||
side = "left";
|
||||
preserveWindowProportions = false;
|
||||
number = false;
|
||||
relativeNumber = false;
|
||||
relativenumber = false;
|
||||
signcolumn = "yes";
|
||||
float = {
|
||||
enable = false;
|
||||
quitOnFocusLoss = true;
|
||||
openWinConfig = {
|
||||
relative = "editor";
|
||||
border = "rounded";
|
||||
width = 30;
|
||||
height = 30;
|
||||
row = 1;
|
||||
col = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
type = types.submodule {
|
||||
options = {
|
||||
centralizeSelection = mkOption {
|
||||
description = "If true, reposition the view so that the current node is initially centralized when entering nvim-tree.";
|
||||
type = types.bool;
|
||||
description = ''
|
||||
When entering nvim-tree, reposition the view so that the current node is
|
||||
initially centralized
|
||||
'';
|
||||
};
|
||||
|
||||
cursorline = mkOption {
|
||||
description = "Whether to display the cursor line in NvimTree";
|
||||
description = "Enable cursorline in nvim-tree window.";
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
|
@ -408,76 +416,69 @@ with builtins; {
|
|||
description = ''
|
||||
Width of the window: can be a `%` string, a number representing columns, a
|
||||
function or a table.
|
||||
A table indicates that the view should be dynamically sized based on the
|
||||
longest line (previously `view.adaptive_size`).
|
||||
|
||||
A table (an attribute set in our case, see example) indicates that the view should be dynamically sized based on the
|
||||
longest line.
|
||||
'';
|
||||
type = with types; oneOf [int attrs];
|
||||
example = literalExpression ''
|
||||
{
|
||||
min = 30;
|
||||
max = -1;
|
||||
padding = 1;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
side = mkOption {
|
||||
description = "Side of the tree.";
|
||||
type = types.enum ["left" "right"];
|
||||
default = "left";
|
||||
description = "Side the tree will appear on left or right";
|
||||
};
|
||||
|
||||
preserveWindowProportions = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Preserves window proportions when opening a file.
|
||||
If `false`, the height and width of windows other than nvim-tree will be equalized.
|
||||
'';
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
number = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Print the line number in front of each line.";
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
relativeNumber = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
relativenumber = mkOption {
|
||||
description = ''
|
||||
Show the line number relative to the line with the cursor in front of each line.
|
||||
If the option `view.number` is also `true`, the number on the cursor line
|
||||
will be the line number instead of `0`.
|
||||
'';
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
signcolumn = mkOption {
|
||||
description = " Show diagnostic sign column. Value can be `" yes "`, `" auto "`, `" no "`.";
|
||||
type = types.enum ["yes" "auto" "no"];
|
||||
default = "yes";
|
||||
description = "Show diagnostic sign column.";
|
||||
};
|
||||
|
||||
float = mkOption {
|
||||
description = "Configuration options for floating window";
|
||||
|
||||
default = {
|
||||
quitOnFocusLoss = true;
|
||||
openWinConfig = {
|
||||
relative = "editor";
|
||||
border = "single";
|
||||
width = 30;
|
||||
height = 30;
|
||||
row = 1;
|
||||
col = 1;
|
||||
};
|
||||
};
|
||||
|
||||
description = "Configuration options for floating window.";
|
||||
type = types.submodule {
|
||||
options = {
|
||||
enable = mkEnableOption "Tree window will be floating.";
|
||||
enable = mkOption {
|
||||
description = "If true, tree window will be floating.";
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
quitOnFocusLoss = mkOption {
|
||||
type = types.bool;
|
||||
description = "Close the floating tree window when it loses focus.";
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
openWinConfig = mkOption {
|
||||
type = with types; oneOf [str attrs];
|
||||
description = "Floating window configuration.";
|
||||
description = "Floating window config. See `:h nvim_open_win()` for more details.";
|
||||
type = types.attrs;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue