From 203d68071f83e4bdfc9a882efa07cd0b0be2d3da Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Sat, 5 Apr 2025 04:21:52 +0000 Subject: [PATCH] ui/dressing: init --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/ui/default.nix | 1 + modules/plugins/ui/dressing/config.nix | 21 +++++++++++++++++++++ modules/plugins/ui/dressing/default.nix | 6 ++++++ modules/plugins/ui/dressing/dressing.nix | 21 +++++++++++++++++++++ 5 files changed, 50 insertions(+) create mode 100644 modules/plugins/ui/dressing/config.nix create mode 100644 modules/plugins/ui/dressing/default.nix create mode 100644 modules/plugins/ui/dressing/dressing.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 32460969..ff9ed771 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -303,6 +303,7 @@ - Disable mini.indentscope for applicable filetypes. - Fix fzf-lua having a hard dependency on fzf. - Enable inlay hints support - `config.vim.lsp.inlayHints`. +- Add [dressing.nvim](https://github.com/stevearc/dressing.nvim) to ui module. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/ui/default.nix b/modules/plugins/ui/default.nix index e9489e9b..fd5b8c18 100644 --- a/modules/plugins/ui/default.nix +++ b/modules/plugins/ui/default.nix @@ -6,6 +6,7 @@ ./notifications ./smartcolumn ./colorizer + ./dressing ./illuminate ./breadcrumbs ./borders diff --git a/modules/plugins/ui/dressing/config.nix b/modules/plugins/ui/dressing/config.nix new file mode 100644 index 00000000..6e88fec4 --- /dev/null +++ b/modules/plugins/ui/dressing/config.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.ui.dressing; +in { + vim = { + fzf-lua = mkIf (builtins.elem "fzf_lua" cfg.setupOpts.select.backend) { + enable = true; + }; + + lazy.plugins."dressing-nvim" = mkIf cfg.enable { + package = "dressing-nvim"; + setupModule = "dressing"; + inherit (cfg) setupOpts; + }; + }; +} diff --git a/modules/plugins/ui/dressing/default.nix b/modules/plugins/ui/dressing/default.nix new file mode 100644 index 00000000..fe8d97a3 --- /dev/null +++ b/modules/plugins/ui/dressing/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./dressing.nix + ]; +} diff --git a/modules/plugins/ui/dressing/dressing.nix b/modules/plugins/ui/dressing/dressing.nix new file mode 100644 index 00000000..fb9a3255 --- /dev/null +++ b/modules/plugins/ui/dressing/dressing.nix @@ -0,0 +1,21 @@ +{lib, ...}: let + inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.options) literalMD mkEnableOption mkOption; + inherit (lib.types) listOf str; +in { + options.vim.ui.dressing = { + enable = mkEnableOption "auto-save"; + setupOpts = mkPluginSetupOption "dressing" { + select = { + backend = mkOption { + type = listOf str; + default = ["fzf_lua"]; + description = literalMD '' + Priority list of preferred `vim.select` implementations. + Note: Using the default value(`["fzf_lua"]`) will also enable `fzf-lua`. + ''; + }; + }; + }; + }; +}