36 lines
769 B
Nix
36 lines
769 B
Nix
|
{pkgs, ...}: let
|
||
|
inherit (pkgs) vimPlugins;
|
||
|
in {
|
||
|
programs = {
|
||
|
neovim = {
|
||
|
plugins = [
|
||
|
vimPlugins.fugitive
|
||
|
|
||
|
{
|
||
|
plugin = vimPlugins.gitsigns-nvim;
|
||
|
type = "lua";
|
||
|
config =
|
||
|
/*
|
||
|
lua
|
||
|
*/
|
||
|
''
|
||
|
local gitsigns = require("gitsigns");
|
||
|
|
||
|
local function visual_stage()
|
||
|
local first_line = vim.fn.line('v');
|
||
|
local last_line = vim.fn.getpos('.')[2];
|
||
|
gitsigns.stage_hunk({ first_line, last_line });
|
||
|
end
|
||
|
|
||
|
vim.keymap.set("v", "gs", function()
|
||
|
visual_stage()
|
||
|
end);
|
||
|
|
||
|
gitsigns.setup();
|
||
|
'';
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
}
|