mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-11-08 09:15:57 +01:00
utility/precognition: init
This commit is contained in:
parent
8ff50562d7
commit
7b17023780
3 changed files with 117 additions and 0 deletions
46
modules/plugins/utility/motion/precognition/config.nix
Normal file
46
modules/plugins/utility/motion/precognition/config.nix
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.vim.utility.motion.precognition;
|
||||||
|
inherit (lib.modules) mkIf;
|
||||||
|
inherit (lib.nvim.dag) entryAnywhere;
|
||||||
|
in {
|
||||||
|
config =
|
||||||
|
mkIf cfg.enable
|
||||||
|
{
|
||||||
|
vim.startPlugins = [
|
||||||
|
"precognition-nvim"
|
||||||
|
];
|
||||||
|
|
||||||
|
vim.pluginRC.precognition-nvim = entryAnywhere ''
|
||||||
|
require("precognition").setup({
|
||||||
|
startVisible = true,
|
||||||
|
showBlankVirtLine = true,
|
||||||
|
highlightColor = { link = "Comment" },
|
||||||
|
hints = {
|
||||||
|
Caret = { text = "^", prio = 2 },
|
||||||
|
Dollar = { text = "$", prio = 1 },
|
||||||
|
MatchingPair = { text = "%", prio = 5 },
|
||||||
|
Zero = { text = "0", prio = 1 },
|
||||||
|
w = { text = "w", prio = 10 },
|
||||||
|
b = { text = "b", prio = 9 },
|
||||||
|
e = { text = "e", prio = 8 },
|
||||||
|
W = { text = "W", prio = 7 },
|
||||||
|
B = { text = "B", prio = 6 },
|
||||||
|
E = { text = "E", prio = 5 },
|
||||||
|
},
|
||||||
|
gutterHints = {
|
||||||
|
G = { text = "G", prio = 10 },
|
||||||
|
gg = { text = "gg", prio = 9 },
|
||||||
|
PrevParagraph = { text = "{", prio = 8 },
|
||||||
|
NextParagraph = { text = "}", prio = 8 },
|
||||||
|
},
|
||||||
|
disabled_fts = {
|
||||||
|
"startify",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
0
modules/plugins/utility/motion/precognition/default.nix
Normal file
0
modules/plugins/utility/motion/precognition/default.nix
Normal file
71
modules/plugins/utility/motion/precognition/precognition.nix
Normal file
71
modules/plugins/utility/motion/precognition/precognition.nix
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||||
|
inherit (lib.types) attrsOf listOf str bool int submodule;
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.vim.utility.motion.precognition = rec {
|
||||||
|
enable = mkEnableOption "precognition.nvim plugin";
|
||||||
|
|
||||||
|
startVisible = mkOption {
|
||||||
|
type = bool;
|
||||||
|
description = "Whether to start 'precognition' automatically.";
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
showBlankVirtLine = mkOption {
|
||||||
|
type = bool;
|
||||||
|
description = "Whether to show a blank virtual line when no movements are shown.";
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
highlightColor = mkOption {
|
||||||
|
type = attrsOf str;
|
||||||
|
|
||||||
|
example = literalExpression ''
|
||||||
|
{ link = "Comment"; }
|
||||||
|
# or
|
||||||
|
{ foreground = "#0000FF", background = "#000000" };
|
||||||
|
'';
|
||||||
|
default = { link = "Comment"; };
|
||||||
|
description = "The highlight for the virtual text.";
|
||||||
|
};
|
||||||
|
|
||||||
|
hints = {
|
||||||
|
type = attrsOf (submodule {
|
||||||
|
options = {
|
||||||
|
text = mkOption {
|
||||||
|
type = str;
|
||||||
|
description = "The easier-to-read depiction of the motion.";
|
||||||
|
};
|
||||||
|
prio = {
|
||||||
|
type = str;
|
||||||
|
description = "The priority of the hint.";
|
||||||
|
example = str;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
gutterHints = hints;
|
||||||
|
|
||||||
|
disabled_fts = mkOption {
|
||||||
|
type = listOf str;
|
||||||
|
default = [ "startify" ];
|
||||||
|
example = literalExpression ''[ "startify" ]'';
|
||||||
|
};
|
||||||
|
|
||||||
|
mappings = {
|
||||||
|
# enable = mkOption {
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# disable = mkOption {
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# toggle = mkOption {
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue