nix-community.nixvim/plugins/utils/undotree.nix
2024-05-05 22:00:40 +02:00

77 lines
1.9 KiB
Nix

{
lib,
config,
helpers,
pkgs,
...
}:
with lib;
with helpers.vim-plugin;
mkVimPlugin config {
name = "undotree";
defaultPackage = pkgs.vimPlugins.undotree;
globalPrefix = "undotree_";
maintainers = [ maintainers.GaetanLepage ];
# TODO introduced 2024-02-22: remove 2024-04-22
deprecateExtraConfig = true;
imports =
let
basePluginPath = [
"plugins"
"undotree"
];
in
mapAttrsToList
(
old: new:
mkRenamedOptionModule (basePluginPath ++ [ old ]) (
basePluginPath
++ [
"settings"
new
]
)
)
{
windowLayout = "WindowLayout";
shortIndicators = "ShortIndicators";
windowWidth = "WindowWidth";
diffHeight = "DiffHeight";
autoOpenDiff = "AutoOpenDiff";
focusOnToggle = "FocusOnToggle";
treeNodeShape = "TreeNodeShape";
diffCommand = "DiffCommand";
relativeTimestamp = "RelativeTimestamp";
highlightChangedText = "HighlightChangedText";
highlightChangesWithSign = "HighlightChangesWithSign";
highlightSyntaxAdd = "HighlightSyntaxAdd";
highlightSyntaxChange = "HighlightSyntaxChange";
highlightSyntaxDel = "HighlightSyntaxDel";
showHelpLine = "ShowHelpLine";
showCursorLine = "ShowCursorLine";
};
settingsExample = {
WindowLayout = 4;
ShortIndicators = false;
DiffpanelHeight = 10;
DiffAutoOpen = true;
SetFocusWhenToggle = true;
SplitWidth = 40;
TreeNodeShape = "*";
TreeVertShape = "|";
TreeSplitShape = "/";
TreeReturnShape = "\\";
DiffCommand = "diff";
RelativeTimestamp = true;
HighlightChangedText = true;
HighlightChangedWithSign = true;
HighlightSyntaxAdd = "DiffAdd";
HighlightSyntaxChange = "DiffChange";
HighlightSyntaxDel = "DiffDelete";
HelpLine = true;
CursorLine = true;
};
}