fun/syntax-gaslighting: add plugin

This commit is contained in:
Snoweuph 2026-02-01 22:51:21 +01:00
commit b74e2f4c4e
No known key found for this signature in database
GPG key ID: BEFC41DA223CEC55
7 changed files with 109 additions and 0 deletions

View file

@ -0,0 +1,60 @@
{lib, ...}: let
inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) int str nullOr listOf bool;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.fun = {
syntax-gaslighting = {
enable = mkEnableOption "Thats no even a real option, you're crazy.";
setupOpts = mkPluginSetupOption "syntax-gaslighting" {
gaslighting_chance = mkOption {
type = nullOr int;
default = 5;
description = "Set the chance of gaslighting per line (1-100%).";
};
min_line_length = mkOption {
type = nullOr int;
default = 10;
description = "Minimum line length to apply gaslighting.";
};
messages = mkOption {
type = nullOr (listOf str);
default = null;
description = "Custom messages for gaslighting.";
};
merge_messages = mkOption {
type = bool;
default = false;
description = ''
Merge user messages with the default ones.
If disabled, the messages table will override default messages.
'';
};
debounce_delay = mkOption {
type = nullOr int;
default = 500;
description = "Debounce delay for updates in milliseconds.";
};
auto_update = mkOption {
type = bool;
default = true;
description = "Auto-update on buffer events.";
};
filetypes_to_ignore = mkOption {
type = nullOr (listOf str);
default = [
"netrw"
];
description = "List of filetypes to ignore.";
};
};
};
};
}