diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 4e237ea7..42a5c2f4 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -176,6 +176,10 @@ - Added Debugging support to `languages.php`. +- Didn't Add + [`syntax-gaslighting`](https://github.com/NotAShelf/syntax-gaslighting.nvim), + you're crazy. + [vagahbond](https://github.com/vagahbond): [codewindow.nvim]: https://github.com/gorbit99/codewindow.nvim diff --git a/modules/plugins/visuals/default.nix b/modules/plugins/visuals/default.nix index 3caf6e32..f989b878 100644 --- a/modules/plugins/visuals/default.nix +++ b/modules/plugins/visuals/default.nix @@ -18,5 +18,6 @@ in { ./nvim-web-devicons ./rainbow-delimiters ./tiny-devicons-auto-colors + ./syntax-gaslighting ]; } diff --git a/modules/plugins/visuals/syntax-gaslighting/config.nix b/modules/plugins/visuals/syntax-gaslighting/config.nix new file mode 100644 index 00000000..2f7ecd8d --- /dev/null +++ b/modules/plugins/visuals/syntax-gaslighting/config.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.fun.syntax-gaslighting; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["syntax-gaslighting"]; + pluginRC.colorful-menu-nvim = entryAnywhere '' + require("syntax-gaslighting").setup(${toLuaObject cfg.setupOpts}) + ''; + }; + }; +} diff --git a/modules/plugins/visuals/syntax-gaslighting/default.nix b/modules/plugins/visuals/syntax-gaslighting/default.nix new file mode 100644 index 00000000..bb0ad198 --- /dev/null +++ b/modules/plugins/visuals/syntax-gaslighting/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./syntax-gaslighting.nix + ./config.nix + ]; +} diff --git a/modules/plugins/visuals/syntax-gaslighting/syntax-gaslighting.nix b/modules/plugins/visuals/syntax-gaslighting/syntax-gaslighting.nix new file mode 100644 index 00000000..b7e9081b --- /dev/null +++ b/modules/plugins/visuals/syntax-gaslighting/syntax-gaslighting.nix @@ -0,0 +1,28 @@ +{lib, ...}: let + inherit (lib.options) mkOption mkEnableOption; + inherit (lib.types) 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" { + 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. + ''; + }; + }; + }; + }; +} diff --git a/npins/sources.json b/npins/sources.json index d9d1f9cc..a5aa2d88 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2528,6 +2528,19 @@ "url": "https://github.com/supermaven-inc/supermaven-nvim/archive/07d20fce48a5629686aefb0a7cd4b25e33947d50.tar.gz", "hash": "sha256-1z3WKIiikQqoweReUyK5O8MWSRN5y95qcxM6qzlKMME=" }, + "syntax-gaslighting": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "NotAShelf", + "repo": "syntax-gaslighting.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "4cee4c0550e82b31e07424e0c44379920d716d79", + "url": "https://github.com/NotAShelf/syntax-gaslighting.nvim/archive/4cee4c0550e82b31e07424e0c44379920d716d79.tar.gz", + "hash": "sha256-sRg6UlK4hQubxf3ycGnMLi+tNvX3zvKgnHYVuZgmvOc=" + }, "tabular": { "type": "Git", "repository": {