ledger: init plugin

This commit is contained in:
Pedro Alves 2021-03-18 10:03:55 +00:00
parent c3fc078107
commit 5ffa2b4543
4 changed files with 37 additions and 2 deletions

View file

@ -90,6 +90,7 @@
plugins.lspsaga.enable = true; plugins.lspsaga.enable = true;
plugins.treesitter.enable = true; plugins.treesitter.enable = true;
plugins.ledger.enable = true;
}; };
}) })
]; ];

View file

@ -21,6 +21,7 @@
./languages/treesitter.nix ./languages/treesitter.nix
./languages/nix.nix ./languages/nix.nix
./languages/ledger.nix
./nvim-lsp ./nvim-lsp
./nvim-lsp/lspsaga.nix ./nvim-lsp/lspsaga.nix

View file

@ -87,10 +87,10 @@ rec {
(if val == false then 0 else 1) (if val == false then 0 else 1)
else val; else val;
mkDefaultOpt = { type, global, description ? null, example ? null, value ? v: toLuaObject (globalVal v), ... }: { mkDefaultOpt = { type, global, description ? null, example ? null, default ? null, value ? v: toLuaObject (globalVal v), ... }: {
option = mkOption { option = mkOption {
type = types.nullOr type; type = types.nullOr type;
default = null; default = default;
description = description; description = description;
example = example; example = example;
}; };

View file

@ -0,0 +1,33 @@
{ pkgs, lib, ... }@args:
with lib; with import ../helpers.nix { lib = lib; };
mkPlugin args {
name = "ledger";
description = "Enable ledger language features";
extraPlugins = [ pkgs.vimPlugins.vim-ledger ];
options = {
maxWidth = mkDefaultOpt {
global = "ledger_maxwidth";
description = "Number of columns to display foldtext";
type = types.int;
};
fillString = mkDefaultOpt {
global = "ledger_fillstring";
description = "String used to fill the space between account name and amount in the foldtext";
type = types.int;
};
detailedFirst = mkDefaultOpt {
global = "ledger_detailed_first";
description = "Account completion sorted by depth instead of alphabetically";
type = types.bool;
};
foldBlanks = mkDefaultOpt {
global = "ledger_fold_blanks";
description = "Hide blank lines following a transaction on a fold";
type = types.bool;
};
};
}