mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
plugins/hunk: init
Add support for [hunk.nvim][1], a plugin for splitting diffs. Also add myself as a maintainer for it. [1]: https://github.com/julienvincent/hunk.nvim
This commit is contained in:
parent
b505a2aebd
commit
69266437be
2 changed files with 144 additions and 0 deletions
50
plugins/by-name/hunk/default.nix
Normal file
50
plugins/by-name/hunk/default.nix
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
helpers,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
lib.nixvim.plugins.mkNeovimPlugin {
|
||||||
|
name = "hunk";
|
||||||
|
packPathName = "hunk.nvim";
|
||||||
|
package = "hunk-nvim";
|
||||||
|
|
||||||
|
description = ''
|
||||||
|
A tool for splitting diffs in Neovim.
|
||||||
|
|
||||||
|
If you wish to display icons in the file tree you should enable either
|
||||||
|
`plugins.web-devicons` or `plugins.mini`. If using `plugins.mini`, you
|
||||||
|
must enable the `icons` module.
|
||||||
|
'';
|
||||||
|
|
||||||
|
maintainers = [ lib.maintainers.jalil-salame ];
|
||||||
|
|
||||||
|
extraConfig.plugins.nui.enable = lib.mkDefault true; # required dependency
|
||||||
|
|
||||||
|
settingsExample = {
|
||||||
|
keys.global.quit = [ "x" ];
|
||||||
|
|
||||||
|
ui = {
|
||||||
|
tree = {
|
||||||
|
mode = "flat";
|
||||||
|
width = 40;
|
||||||
|
};
|
||||||
|
layout = "horizontal";
|
||||||
|
};
|
||||||
|
|
||||||
|
hooks = {
|
||||||
|
on_tree_mount =
|
||||||
|
lib.nixvim.nestedLiteralLua # lua
|
||||||
|
''
|
||||||
|
---@param _context { buf: number, tree: NuiTree, opts: table }
|
||||||
|
function(_context) end
|
||||||
|
'';
|
||||||
|
on_diff_mount =
|
||||||
|
lib.nixvim.nestedLiteralLua # lua
|
||||||
|
''
|
||||||
|
---@param _context { buf: number, win: number }
|
||||||
|
function(_context) end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
94
tests/test-sources/plugins/by-name/hunk/default.nix
Normal file
94
tests/test-sources/plugins/by-name/hunk/default.nix
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
{
|
||||||
|
empty = {
|
||||||
|
plugins.hunk.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
with-web-devicons = {
|
||||||
|
plugins.hunk.enable = true;
|
||||||
|
plugins.web-devicons.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
with-mini = {
|
||||||
|
plugins.hunk.enable = true;
|
||||||
|
plugins.mini = {
|
||||||
|
enable = true;
|
||||||
|
modules.icons = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
example.plugins.hunk = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
keys.global.quit = [ "x" ];
|
||||||
|
|
||||||
|
ui = {
|
||||||
|
tree = {
|
||||||
|
mode = "flat";
|
||||||
|
width = 40;
|
||||||
|
};
|
||||||
|
layout = "horizontal";
|
||||||
|
};
|
||||||
|
|
||||||
|
hooks = {
|
||||||
|
on_tree_mount.__raw = "function(_context) end";
|
||||||
|
on_diff_mount.__raw = "function(_context) end";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Taken directly from the plugin docs: https://github.com/julienvincent/hunk.nvim#configuration
|
||||||
|
defaults.plugins.hunk = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
keys = {
|
||||||
|
global = {
|
||||||
|
quit = [ "q" ];
|
||||||
|
accept = [ "<leader><Cr>" ];
|
||||||
|
focus_tree = [ "<leader>e" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
tree = {
|
||||||
|
expand_node = [
|
||||||
|
"l"
|
||||||
|
"<Right>"
|
||||||
|
];
|
||||||
|
collapse_node = [
|
||||||
|
"h"
|
||||||
|
"<Left>"
|
||||||
|
];
|
||||||
|
|
||||||
|
open_file = [ "<Cr>" ];
|
||||||
|
|
||||||
|
toggle_file = [ "a" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
diff = {
|
||||||
|
toggle_line = [ "a" ];
|
||||||
|
toggle_hunk = [ "A" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ui = {
|
||||||
|
tree = {
|
||||||
|
mode = "nested";
|
||||||
|
width = 35;
|
||||||
|
};
|
||||||
|
layout = "vertical";
|
||||||
|
};
|
||||||
|
|
||||||
|
icons = {
|
||||||
|
selected = "";
|
||||||
|
deselected = "";
|
||||||
|
partially_selected = "";
|
||||||
|
|
||||||
|
folder_open = "";
|
||||||
|
folder_closed = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
hooks = {
|
||||||
|
on_tree_mount.__raw = "function(_context) end";
|
||||||
|
on_diff_mount.__raw = "function(_context) end";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue