diff options
Diffstat (limited to 'mac/.config/yazi/plugins.bak/sudo-demo.yazi')
| -rw-r--r-- | mac/.config/yazi/plugins.bak/sudo-demo.yazi/README.md | 25 | ||||
| -rw-r--r-- | mac/.config/yazi/plugins.bak/sudo-demo.yazi/main.lua | 45 |
2 files changed, 0 insertions, 70 deletions
diff --git a/mac/.config/yazi/plugins.bak/sudo-demo.yazi/README.md b/mac/.config/yazi/plugins.bak/sudo-demo.yazi/README.md deleted file mode 100644 index 8068691..0000000 --- a/mac/.config/yazi/plugins.bak/sudo-demo.yazi/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# sudo-demo.yazi - -Just an example showing how to use `sudo` in a Yazi plugin, and the plugin itself doesn't offer any features beyond logging a message. - -## Installation - -```sh -ya pkg add yazi-rs/plugins:sudo-demo -``` - -## Usage - -Add this to your `~/.config/yazi/keymap.toml`: - -```toml -[[mgr.prepend_keymap]] -on = "<C-t>" -run = "plugin sudo-demo" -``` - -Press <kbd>Ctrl</kbd> + <kbd>t</kbd> to run the plugin, you should [see a message in the log](https://yazi-rs.github.io/docs/plugins/overview#logging). - -## License - -This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/mac/.config/yazi/plugins.bak/sudo-demo.yazi/main.lua b/mac/.config/yazi/plugins.bak/sudo-demo.yazi/main.lua deleted file mode 100644 index 599afe4..0000000 --- a/mac/.config/yazi/plugins.bak/sudo-demo.yazi/main.lua +++ /dev/null @@ -1,45 +0,0 @@ ---- @since 25.5.31 - ---- Verify if `sudo` is already authenticated ---- @return boolean -local function sudo_already() - local status = Command("sudo"):arg({ "--validate", "--non-interactive" }):status() - assert(status, "Failed to run `sudo --validate --non-interactive`") - return status.success -end - ---- Run a program with `sudo` privilege ---- @param program string ---- @param args table ---- @return Output|nil output ---- @return integer|nil err ---- nil: no error ---- 1: sudo failed -local function run_with_sudo(program, args) - local cmd = Command("sudo"):arg(program):arg(args) - if sudo_already() then - return cmd:output() - end - - local permit = ui.hide and ui.hide() or ya.hide() -- TODO: remove this - print(string.format("Sudo password required to run: `%s %s`", program, table.concat(args))) - local output = cmd:output() - permit:drop() - - if output.status.success or sudo_already() then - return output - end - return nil, 1 -end - -return { - entry = function() - local output = run_with_sudo("ls", { "-l" }) - if not output then - return ya.err("Failed to run `sudo ls -l`") - end - - ya.err("stdout", output.stdout) - ya.err("status.code", output.status.code) - end, -} |
