diff --git a/flake-modules/dev/list-plugins/list-plugins.py b/flake-modules/dev/list-plugins/list-plugins.py index 55df9c6d..9bdd0f17 100755 --- a/flake-modules/dev/list-plugins/list-plugins.py +++ b/flake-modules/dev/list-plugins/list-plugins.py @@ -76,7 +76,6 @@ KNOWN_PATHS: dict[ "plugins/by-name/lspkind/default.nix": (State.OLD, Kind.NEOVIM, False), "plugins/by-name/nix-develop/default.nix": (State.OLD, Kind.NEOVIM, False), "plugins/by-name/openscad/default.nix": (State.OLD, Kind.VIM, False), - "plugins/by-name/plantuml-syntax/default.nix": (State.OLD, Kind.VIM, False), "plugins/by-name/rainbow-delimiters/default.nix": (State.OLD, Kind.NEOVIM, False), "plugins/by-name/treesitter-refactor/default.nix": (State.OLD, Kind.MISC, True), "plugins/by-name/treesitter-textobjects/default.nix": ( diff --git a/plugins/by-name/plantuml-syntax/default.nix b/plugins/by-name/plantuml-syntax/default.nix index a9771645..36363332 100644 --- a/plugins/by-name/plantuml-syntax/default.nix +++ b/plugins/by-name/plantuml-syntax/default.nix @@ -1,44 +1,44 @@ { lib, - helpers, - config, pkgs, ... }: -with lib; -{ - options.plugins.plantuml-syntax = { - enable = mkEnableOption "plantuml syntax support"; +let + inherit (lib.nixvim) defaultNullOpts; +in +lib.nixvim.vim-plugin.mkVimPlugin { + name = "plantuml-syntax"; + globalPrefix = "plantuml_"; - package = lib.mkPackageOption pkgs "plantuml-syntax" { - default = [ - "vimPlugins" - "plantuml-syntax" - ]; - }; + maintainers = [ lib.maintainers.GaetanLepage ]; - setMakeprg = mkOption { - type = types.bool; - default = true; - description = "Set the makeprg to 'plantuml'"; - }; - executableScript = mkOption { - type = types.nullOr types.str; - default = null; - description = "Set the script to be called with makeprg, default to 'plantuml' in PATH"; + # TODO introduced 2024-03-02: remove 2024-05-02 + deprecateExtraConfig = true; + optionsRenamedToSettings = [ + "setMakeprg" + "executableScript" + ]; + + extraOptions = { + plantumlPackage = lib.mkPackageOption pkgs "plantuml" { + nullable = true; }; }; - config = - let - cfg = config.plugins.plantuml-syntax; - in - mkIf cfg.enable { - extraPlugins = [ cfg.package ]; + extraConfig = cfg: { extraPackages = [ cfg.plantumlPackage ]; }; - globals = { - plantuml_set_makeprg = cfg.setMakeprg; - plantuml_executable_script = cfg.executableScript; - }; - }; + settingsOptions = { + set_makeprg = defaultNullOpts.mkFlagInt 1 '' + Set the makeprg to `plantuml`. + ''; + + executable_script = defaultNullOpts.mkStr "plantuml" '' + Set the script to be called with makeprg, default to `plantuml` in `$PATH`. + ''; + }; + + settingsExample = { + set_makeprg = true; + executable_script = "plantuml"; + }; } diff --git a/tests/test-sources/plugins/by-name/plantuml-syntax/default.nix b/tests/test-sources/plugins/by-name/plantuml-syntax/default.nix index 580b4ebe..d6f1d9cc 100644 --- a/tests/test-sources/plugins/by-name/plantuml-syntax/default.nix +++ b/tests/test-sources/plugins/by-name/plantuml-syntax/default.nix @@ -2,4 +2,15 @@ empty = { plugins.plantuml-syntax.enable = true; }; + + defaults = { + plugins.plantuml-syntax = { + enable = true; + + settings = { + set_makeprg = 1; + executable_script = "plantuml"; + }; + }; + }; }