mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-02-23 11:58:23 +00:00
41 lines
1.3 KiB
Nix
41 lines
1.3 KiB
Nix
![]() |
{
|
||
|
config,
|
||
|
lib,
|
||
|
...
|
||
|
}: let
|
||
|
inherit (lib.modules) mkIf mkMerge;
|
||
|
inherit (lib.nvim.binds) addDescriptionsToMappings mkSetBinding;
|
||
|
inherit (lib.nvim.dag) entryAnywhere;
|
||
|
inherit (lib.nvim.lua) toLuaObject;
|
||
|
|
||
|
cfg = config.vim.git.git-conflict;
|
||
|
|
||
|
self = import ./git-conflict.nix {inherit lib config;};
|
||
|
gcMappingDefinitions = self.options.vim.git.git-conflict.mappings;
|
||
|
|
||
|
gcMappings = addDescriptionsToMappings cfg.mappings gcMappingDefinitions;
|
||
|
in {
|
||
|
config = mkIf cfg.enable (mkMerge [
|
||
|
{
|
||
|
vim = {
|
||
|
startPlugins = ["git-conflict-nvim"];
|
||
|
|
||
|
maps = {
|
||
|
normal = mkMerge [
|
||
|
(mkSetBinding gcMappings.ours "<Plug>(git-conflict-ours)")
|
||
|
(mkSetBinding gcMappings.theirs "<Plug>(git-conflict-theirs)")
|
||
|
(mkSetBinding gcMappings.both "<Plug>(git-conflict-both)")
|
||
|
(mkSetBinding gcMappings.none "<Plug>(git-conflict-none)")
|
||
|
(mkSetBinding gcMappings.prevConflict "<Plug>(git-conflict-prev-conflict)")
|
||
|
(mkSetBinding gcMappings.nextConflict "<Plug>(git-conflict-next-conflict)")
|
||
|
];
|
||
|
};
|
||
|
|
||
|
pluginRC.git-conflict = entryAnywhere ''
|
||
|
require('git-conflict').setup(${toLuaObject ({default_mappings = false;} // cfg.setupOpts)})
|
||
|
'';
|
||
|
};
|
||
|
}
|
||
|
]);
|
||
|
}
|