Skip to content

Commit

Permalink
plugins/vim-suda: init
Browse files Browse the repository at this point in the history
  • Loading branch information
MarcelCoding committed Nov 29, 2024
1 parent fc9178d commit 0533100
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 0 deletions.
41 changes: 41 additions & 0 deletions plugins/by-name/vim-suda/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{ lib, helpers, ... }:

lib.nixvim.vim-plugin.mkVimPlugin {
name = "vim-suda";
globalPrefix = "suda#";
maintainers = [ lib.maintainers.marcel ];

settingsOptions = {
executable = helpers.defaultNullOpts.mkStr "sudo" ''
Path to the sudo binary.
'';

noninteractive = helpers.defaultNullOpts.mkFlagInt 0 ''
If set, suda will not prompt you for a password before saving a file.
It is supposed to support a setup with passwordless sudo or doas.
Use with care.
'';

prompt = helpers.defaultNullOpts.mkStr "Password: " ''
A prompt string used to ask password.
'';

# TODO: til https://github.com/lambdalisue/vim-suda/pull/84
# makes it into nixos-unstable
# NOTE: also update in `settingsExample` and test cases
#smart_edit = helpers.defaultNullOpts.mkFlagInt 0 ''
# If set, an `|autocmd|` is created that performs a heuristic check on
# every buffer and decides whether to replace it with a suda buffer.
# The check is done only once for every buffer and it is designed to be
# optimized as possible so you shouldn't feel any slowdown when opening
# buffers.
#'';
};

settingsExample = {
path = "doas";
noninteractive = 1;
prompt = "Pass: ";
#smart_edit = 1;
};
}
29 changes: 29 additions & 0 deletions tests/test-sources/plugins/by-name/vim-suda/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
empty = {
plugins.vim-suda.enable = true;
};

defaults = {
plugins.vim-suda = {
enable = true;
settings = {
path = "sudo";
noninteractive = 0;
prompt = "Password: ";
#smart_edit = 0;
};
};
};

example = {
plugins.vim-suda = {
enable = true;
settings = {
path = "doas";
noninteractive = 1;
prompt = "Pass: ";
#smart_edit = 1;
};
};
};
}

0 comments on commit 0533100

Please sign in to comment.