plugins/fugit2: init

This commit is contained in:
Gaetan Lepage 2025-01-02 00:27:51 +01:00 committed by nix-infra-bot
parent 3285bbda0a
commit e1b39b725e
2 changed files with 111 additions and 0 deletions

View file

@ -0,0 +1,72 @@
{ lib, ... }:
let
inherit (lib) types;
inherit (lib.nixvim) defaultNullOpts mkNullOrStr;
in
lib.nixvim.plugins.mkNeovimPlugin {
name = "fugit2";
packPathName = "fugit2.nvim";
package = "fugit2-nvim";
maintainers = [ lib.maintainers.GaetanLepage ];
settingsOptions = {
width = defaultNullOpts.mkNullable (with types; either str ints.unsigned) 100 ''
Main popup width.
'';
max_width = defaultNullOpts.mkNullable (with types; either str ints.unsigned) "80%" ''
Main popup width when expand patch view.
'';
min_width = defaultNullOpts.mkUnsignedInt 50 ''
File view width when expand patch view.
'';
content_width = defaultNullOpts.mkUnsignedInt 60 ''
File view content width.
'';
height = defaultNullOpts.mkNullable (with types; either str ints.unsigned) "60%" ''
Main popup height.
'';
show_patch = defaultNullOpts.mkBool false ''
Whether to show patch for active file when open `fugit2` main window.
'';
libgit2_path = mkNullOrStr ''
Path to `libgit2` lib if not set via environments.
'';
gpgme_path = defaultNullOpts.mkStr "gpgme" ''
Path to the `gpgme` lib.
'';
external_diffview = defaultNullOpts.mkBool false ''
Whether to use external diffview.nvim or Fugit2 implementation.
'';
blame_priority = defaultNullOpts.mkUnsignedInt 1 ''
Priority of blame virtual text.
'';
blame_info_width = defaultNullOpts.mkUnsignedInt 60 ''
Width of blame hunk detail popup.
'';
blame_info_height = defaultNullOpts.mkUnsignedInt 10 ''
Height of blame hunk detail popup.
'';
colorscheme = mkNullOrStr ''
Custom colorscheme specification.
'';
};
settingsExample = {
width = "62%";
height = "90%";
external_diffview = true;
};
}