diff --git a/plugins/default.nix b/plugins/default.nix index 1bf9ac34..1d543218 100644 --- a/plugins/default.nix +++ b/plugins/default.nix @@ -153,6 +153,7 @@ ./utils/auto-save.nix ./utils/auto-session.nix ./utils/autoclose.nix + ./utils/autosource.nix ./utils/bacon.nix ./utils/baleia.nix ./utils/better-escape.nix diff --git a/plugins/utils/autosource.nix b/plugins/utils/autosource.nix new file mode 100644 index 00000000..8e15395a --- /dev/null +++ b/plugins/utils/autosource.nix @@ -0,0 +1,31 @@ +{ + lib, + ... +}: +let + inherit (lib.nixvim) defaultNullOpts; + mkBoolInt = defaultNullOpts.mkEnum [ + 0 + 1 + ]; +in +lib.nixvim.vim-plugin.mkVimPlugin { + name = "autosource"; + originalName = "vim-autosource"; + package = "vim-autosource"; + globalPrefix = "autosource_"; + + maintainers = [ lib.nixvim.maintainers.refaelsh ]; + + settingsOptions = { + prompt_for_new_file = mkBoolInt 1 '' + The primary use-case of this option is to support automated testing. + When set to false AutoSource will not prompt you when it detects a new file. The file will *NOT* be sourced. + ''; + + prompt_for_changed_file = mkBoolInt 1 '' + The primary use-case of this option is to support automated testing. + When set to false AutoSource will not prompt you when it detects when a file is changed. The file will NOT be sourced. + ''; + }; +} diff --git a/tests/test-sources/plugins/utils/autosource.nix b/tests/test-sources/plugins/utils/autosource.nix new file mode 100644 index 00000000..136a622c --- /dev/null +++ b/tests/test-sources/plugins/utils/autosource.nix @@ -0,0 +1,16 @@ +{ + empty = { + plugins.autosource.enable = true; + }; + + defaults = { + plugins.autosource = { + enable = true; + + settings = { + prompt_for_new_file = 1; + prompt_for_changed_file = 1; + }; + }; + }; +}