mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-11-08 03:25:58 +01:00
visuals: move nvim-cursorline to its own module; switch to setupOpts
This commit is contained in:
parent
47b5d51f5c
commit
db54345de1
7 changed files with 78 additions and 29 deletions
|
@ -19,18 +19,6 @@ in {
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf cfg.cursorline.enable {
|
|
||||||
vim.startPlugins = ["nvim-cursorline"];
|
|
||||||
vim.pluginRC.cursorline = entryAnywhere ''
|
|
||||||
require('nvim-cursorline').setup {
|
|
||||||
cursorline = {
|
|
||||||
timeout = ${toString cfg.cursorline.lineTimeout},
|
|
||||||
number = ${boolToString (!cfg.cursorline.lineNumbersOnly)},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
|
|
||||||
(mkIf cfg.scrollBar.enable {
|
(mkIf cfg.scrollBar.enable {
|
||||||
vim.startPlugins = ["scrollbar-nvim"];
|
vim.startPlugins = ["scrollbar-nvim"];
|
||||||
vim.pluginRC.scrollBar = entryAnywhere ''
|
vim.pluginRC.scrollBar = entryAnywhere ''
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./fidget
|
./fidget
|
||||||
|
./nvim-cursorline
|
||||||
./nvim-web-devicons
|
./nvim-web-devicons
|
||||||
|
|
||||||
./config.nix
|
./config.nix
|
||||||
|
|
21
modules/plugins/visuals/nvim-cursorline/config.nix
Normal file
21
modules/plugins/visuals/nvim-cursorline/config.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkIf;
|
||||||
|
inherit (lib.nvim.lua) toLuaObject;
|
||||||
|
inherit (lib.nvim.dag) entryAnywhere;
|
||||||
|
|
||||||
|
cfg = config.vim.visuals.cursorline;
|
||||||
|
in {
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
vim = {
|
||||||
|
startPlugins = ["nvim-cursorline"];
|
||||||
|
|
||||||
|
pluginRC.cursorline = entryAnywhere ''
|
||||||
|
require("nvim-cursorline").setup(${toLuaObject cfg.setupOpts})
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
6
modules/plugins/visuals/nvim-cursorline/default.nix
Normal file
6
modules/plugins/visuals/nvim-cursorline/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./config.nix
|
||||||
|
./nvim-cursorline.nix
|
||||||
|
];
|
||||||
|
}
|
49
modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix
Normal file
49
modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{lib, ...}: let
|
||||||
|
inherit (lib.modules) mkRenamedOptionModule mkRemovedOptionModule;
|
||||||
|
inherit (lib.options) mkOption mkEnableOption;
|
||||||
|
inherit (lib.types) int bool;
|
||||||
|
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
(mkRenamedOptionModule ["vim" "visuals" "cursorline" "lineTimeout"] ["vim" "visuals" "cursorline" "setupOpts" "line_timeout"])
|
||||||
|
(mkRemovedOptionModule ["vim" "visuals" "cursorline" "lineNumbersOnly"] ''
|
||||||
|
`vim.visuals.cursorline.lineNumbersOnly` has been removed. Use `vim.visuals.cursorline.number` instead.
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
|
||||||
|
options.vim.visuals.cursorline = {
|
||||||
|
enable = mkEnableOption "cursor word and line highlighting [nvim-cursorline]";
|
||||||
|
setupOpts = mkPluginSetupOption "cursorline" {
|
||||||
|
cursorline = {
|
||||||
|
enable = mkEnableOption "cursor line highlighting";
|
||||||
|
timeout = mkOption {
|
||||||
|
type = int;
|
||||||
|
default = 1000;
|
||||||
|
};
|
||||||
|
|
||||||
|
number = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cursorword = {
|
||||||
|
enable = mkEnableOption "cursor word highlighting";
|
||||||
|
timeout = mkOption {
|
||||||
|
type = int;
|
||||||
|
default = 1000;
|
||||||
|
};
|
||||||
|
|
||||||
|
min_length = mkOption {
|
||||||
|
type = int;
|
||||||
|
default = 3;
|
||||||
|
};
|
||||||
|
|
||||||
|
hl.underline = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,7 +4,7 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.modules) mkRenamedOptionModule;
|
inherit (lib.modules) mkRenamedOptionModule;
|
||||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
inherit (lib.options) mkOption mkEnableOption literalExpression;
|
||||||
inherit (lib.types) nullOr attrsOf attrs enum;
|
inherit (lib.types) nullOr attrsOf attrs enum;
|
||||||
inherit (lib.nvim.types) mkPluginSetupOption;
|
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||||
in {
|
in {
|
||||||
|
|
|
@ -24,22 +24,6 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
cursorline = {
|
|
||||||
enable = mkEnableOption "line hightlighting on the cursor [nvim-cursorline]";
|
|
||||||
|
|
||||||
lineTimeout = mkOption {
|
|
||||||
type = int;
|
|
||||||
description = "Time in milliseconds for cursorline to appear";
|
|
||||||
default = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
lineNumbersOnly = mkOption {
|
|
||||||
type = bool;
|
|
||||||
description = "Hightlight only in the presence of line numbers";
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
indentBlankline = {
|
indentBlankline = {
|
||||||
enable = mkEnableOption "indentation guides [indent-blankline]";
|
enable = mkEnableOption "indentation guides [indent-blankline]";
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue