nix-community.nixvim/plugins/utils/undotree.nix
2024-02-10 17:53:41 +01:00

131 lines
2.7 KiB
Nix

{
lib,
config,
helpers,
pkgs,
...
}:
with lib;
with helpers.vim-plugin;
mkVimPlugin config {
name = "undotree";
package = pkgs.vimPlugins.undotree;
globalPrefix = "undotree_";
options = {
windowLayout = mkDefaultOpt {
type = types.int;
description = ''
Window layout for undotree.
Check https://github.com/mbbill/undotree/blob/master/plugin/undotree.vim#L29 for reference
'';
};
shortIndicators = mkDefaultOpt {
type = types.bool;
description = ''
E.g. use 'd' instead of 'days'
Default: `false`
'';
};
windowWidth = mkDefaultOpt {
type = types.int;
description = "Undotree window width";
};
diffHeight = mkDefaultOpt {
type = types.int;
description = "Undotree diff panel height";
};
autoOpenDiff = mkDefaultOpt {
type = types.bool;
description = ''
Auto open diff window
Default: `true`
'';
};
focusOnToggle = mkDefaultOpt {
type = types.bool;
description = ''
Focus undotree after being opened
Default: `false`
'';
};
treeNodeShape = mkDefaultOpt {
type = types.str;
description = "Tree node shape";
};
diffCommand = mkDefaultOpt {
type = types.str;
description = "Diff command";
};
relativeTimestamp = mkDefaultOpt {
type = types.bool;
description = ''
Use a relative timestamp.
Default: `true`
'';
};
highlightChangedText = mkDefaultOpt {
type = types.bool;
description = ''
Highlight changed text
Default: `true`
'';
};
highlightChangesWithSign = mkDefaultOpt {
type = types.bool;
description = ''
Highlight changes with a sign in the gutter
Default: `true`
'';
};
highlightSyntaxAdd = mkDefaultOpt {
type = types.str;
description = "Added lines highlight group";
};
highlightSyntaxChange = mkDefaultOpt {
type = types.str;
description = "Changed lines highlight group";
};
highlightSyntaxDel = mkDefaultOpt {
type = types.str;
description = "Deleted lines highlight group";
};
showHelpLine = mkDefaultOpt {
type = types.bool;
description = ''
Show help line.
Default: `true`
'';
};
showCursorLine = mkDefaultOpt {
type = types.bool;
description = ''
Show cursor line
Default: `true`
'';
};
};
}