modules/visuals: update indent-blankline to v3

This commit is contained in:
NotAShelf 2023-10-14 14:04:48 +03:00
parent a535f87cc8
commit 0067d44695
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
4 changed files with 72 additions and 32 deletions

View file

@ -89,7 +89,9 @@ inputs: let
enable = true; enable = true;
fillChar = null; fillChar = null;
eolChar = null; eolChar = null;
showCurrContext = true; scope = {
showCurrContext = true;
};
}; };
cursorline = { cursorline = {

View file

@ -584,11 +584,11 @@
"indent-blankline": { "indent-blankline": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1688727830, "lastModified": 1697081010,
"narHash": "sha256-efMRkxjbr6o7kSKAEn0Kaw8lsDubRmc1N0Kd1BZ3A7k=", "narHash": "sha256-e8gn4pJYALaQ6sGA66SFf8p6VLJBPxT/BimQhOd5eBs=",
"owner": "lukas-reineke", "owner": "lukas-reineke",
"repo": "indent-blankline.nvim", "repo": "indent-blankline.nvim",
"rev": "4541d690816cb99a7fc248f1486aa87f3abce91c", "rev": "0fe34b4c1b926e106d105d3ae88ef6cbf6743572",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -12,7 +12,7 @@ in {
vim.startPlugins = ["indent-blankline"]; vim.startPlugins = ["indent-blankline"];
vim.luaConfigRC.indent-blankline = nvim.dag.entryAnywhere '' vim.luaConfigRC.indent-blankline = nvim.dag.entryAnywhere ''
-- highlight error: https://github.com/lukas-reineke/indent-blankline.nvim/issues/59 -- highlight error: https://github.com/lukas-reineke/indent-blankline.nvim/issues/59
vim.wo.colorcolumn = "99999" -- vim.wo.colorcolumn = "99999"
vim.opt.list = true vim.opt.list = true
${optionalString (cfg.indentBlankline.eolChar != null) '' ${optionalString (cfg.indentBlankline.eolChar != null) ''
@ -22,12 +22,20 @@ in {
vim.opt.listchars:append({ space = "${cfg.indentBlankline.fillChar}" }) vim.opt.listchars:append({ space = "${cfg.indentBlankline.fillChar}" })
''} ''}
require("indent_blankline").setup { require("ibl").setup {
enabled = true, enabled = true,
char = "${cfg.indentBlankline.listChar}", debounce = ${toString cfg.indentBlankline.debounce},
show_current_context = ${boolToString cfg.indentBlankline.showCurrContext}, indent = { char = "${cfg.indentBlankline.indent.char}" },
show_end_of_line = ${boolToString cfg.indentBlankline.showEndOfLine},
use_treesitter = ${boolToString cfg.indentBlankline.useTreesitter}, viewport_buffer = {
min = ${toString cfg.indentBlankline.viewportBuffer.min},
max = ${toString cfg.indentBlankline.viewportBuffer.max},
},
scope = {
enabled = ${boolToString cfg.indentBlankline.scope.showCurrContext},
show_end = ${boolToString cfg.indentBlankline.scope.showEndOfLine}
},
} }
''; '';
}) })

View file

@ -3,10 +3,16 @@
lib, lib,
... ...
}: let }: let
inherit (lib) mkEnableOption mkMappingOption mkOption types literalExpression; inherit (lib) mkEnableOption mkMappingOption mkOption types literalExpression mkRenamedOptionModule mkRemovedOptionModule;
cfg = config.vim.visuals; cfg = config.vim.visuals;
in { in {
imports = [
(mkRenamedOptionModule ["vim" "visuals" "indentBlankline" "showCurrContext"] ["vim" "visuals" "indentBlankline" "scope" "showCurrContext"])
(mkRenamedOptionModule ["vim" "visuals" "indentBlankline" "showEndOfLine"] ["vim" "visuals" "indentBlankline" "scope" "showEndOfLine"])
(mkRemovedOptionModule ["vim" "visuals" "indentBlankline" "useTreesitter"] "`vim.visuals.indentBlankline.useTreesitter` has been removed upstream and can safely be removed from your configuration.")
];
options.vim.visuals = { options.vim.visuals = {
enable = mkEnableOption "Visual enhancements."; enable = mkEnableOption "Visual enhancements.";
@ -60,6 +66,35 @@ in {
indentBlankline = { indentBlankline = {
enable = mkEnableOption "indentation guides [indent-blankline]"; enable = mkEnableOption "indentation guides [indent-blankline]";
debounce = mkOption {
type = types.int;
description = "Debounce time in milliseconds";
default = 200;
};
viewportBuffer = {
min = mkOption {
type = types.int;
description = "Number of lines above and below of what is currently
visible in the window";
default = 30;
};
max = mkOption {
type = types.int;
description = "Number of lines above and below of what is currently
visible in the window";
default = 500;
};
};
indent = {
char = mkOption {
type = types.str;
description = "Character for indentation line";
default = "";
};
};
listChar = mkOption { listChar = mkOption {
type = types.str; type = types.str;
@ -79,28 +114,23 @@ in {
default = ""; default = "";
}; };
showEndOfLine = mkOption { scope = {
description = '' showEndOfLine = mkOption {
Displays the end of line character set by [](#opt-vim.visuals.indentBlankline.eolChar) instead of the description = ''
indent guide on line returns. Displays the end of line character set by [](#opt-vim.visuals.indentBlankline.eolChar) instead of the
''; indent guide on line returns.
type = types.bool; '';
default = cfg.indentBlankline.eolChar != null; type = types.bool;
defaultText = literalExpression "config.vim.visuals.indentBlankline.eolChar != null"; default = cfg.indentBlankline.eolChar != null;
}; defaultText = literalExpression "config.vim.visuals.indentBlankline.eolChar != null";
};
showCurrContext = mkOption { showCurrContext = mkOption {
description = "Highlight current context from treesitter"; description = "Highlight current context from treesitter";
type = types.bool; type = types.bool;
default = config.vim.treesitter.enable; default = config.vim.treesitter.enable;
defaultText = literalExpression "config.vim.treesitter.enable"; defaultText = literalExpression "config.vim.treesitter.enable";
}; };
useTreesitter = mkOption {
description = "Use treesitter to calculate indentation when possible.";
type = types.bool;
default = config.vim.treesitter.enable;
defaultText = literalExpression "config.vim.treesitter.enable";
}; };
}; };