Skip to content

Commit fc4a5d8

Browse files
committed
plugins/gitlineage: init
1 parent 306d277 commit fc4a5d8

2 files changed

Lines changed: 95 additions & 0 deletions

File tree

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
lib,
3+
...
4+
}:
5+
let
6+
inherit (lib) types;
7+
inherit (lib.nixvim) defaultNullOpts;
8+
in
9+
lib.nixvim.plugins.mkNeovimPlugin {
10+
name = "gitlineage";
11+
package = "gitlineage-nvim";
12+
13+
description = "Show git lineage information inside Neovim.";
14+
15+
maintainers = with lib.maintainers; [ LionyxML ];
16+
17+
settingsOptions = {
18+
split = defaultNullOpts.mkStr "auto" ''
19+
Where the git lineage window should open.
20+
Accepts "vertical", "horizontal", or "auto".
21+
'';
22+
23+
keymap = defaultNullOpts.mkStr "<leader>gl" ''
24+
Default keymap for opening the git lineage window.
25+
Set to `null` to disable.
26+
'';
27+
28+
keys =
29+
defaultNullOpts.mkAttrsOf (types.nullOr types.str)
30+
{
31+
close = "q";
32+
next_commit = "]c";
33+
prev_commit = "[c";
34+
yank_commit = "yc";
35+
open_diff = "<CR>";
36+
}
37+
''
38+
Keymaps inside the git lineage window.
39+
Set individual entries to `null` to disable.
40+
'';
41+
};
42+
43+
settingsExample = {
44+
split = "auto";
45+
keymap = "<leader>gl";
46+
keys = {
47+
close = "q";
48+
next_commit = "]c";
49+
prev_commit = "[c";
50+
yank_commit = "yc";
51+
open_diff = "<CR>";
52+
};
53+
};
54+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
empty = {
3+
plugins.gitlineage.enable = true;
4+
};
5+
6+
defaults = {
7+
plugins.gitlineage = {
8+
enable = true;
9+
10+
settings = {
11+
split = "auto";
12+
keymap = "<leader>gl";
13+
keys = {
14+
close = "q";
15+
next_commit = "]c";
16+
prev_commit = "[c";
17+
yank_commit = "yc";
18+
open_diff = "<CR>";
19+
};
20+
};
21+
};
22+
};
23+
24+
example = {
25+
plugins.gitlineage = {
26+
enable = true;
27+
28+
settings = {
29+
split = "vertical";
30+
keymap.__raw = "nil";
31+
keys = {
32+
close = "q";
33+
next_commit = "]c";
34+
prev_commit = "[c";
35+
yank_commit = "yc";
36+
open_diff.__raw = "nil";
37+
};
38+
};
39+
};
40+
};
41+
}

0 commit comments

Comments
 (0)