diff options
| author | Deposite Pirate | 2026-02-16 02:22:00 +0100 |
|---|---|---|
| committer | Deposite Pirate | 2026-02-16 02:22:00 +0100 |
| commit | e5d665865e7cc800bb4deecd6aedcf3015e65b10 (patch) | |
| tree | 831b1c0adbd2aa8d2bb80ff2ae8c6bd7f4d8513d /functions/check_install.fish | |
| parent | 7cfcd5a663a61e14de445426ea3f794e6b91fdda (diff) | |
Best effort dependency resolution
Add a new check_install function that checks if a tool is installed and
tries to install it on a best effort basic. Modify all scripts that
benefit from it. Small indentation and correctness fixes.
modified: functions/7za.fish
modified: functions/alert.fish
new file: functions/check_install.fish
modified: functions/lscmd.fish
modified: functions/rchmod.fish
modified: functions/renlow.fish
modified: functions/rlsxattr.fish
modified: functions/rsdos.fish
modified: functions/rsmac.fish
modified: functions/rsxattr.fish
modified: functions/uz.fish
Diffstat (limited to 'functions/check_install.fish')
| -rw-r--r-- | functions/check_install.fish | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/functions/check_install.fish b/functions/check_install.fish new file mode 100644 index 0000000..4c5da6c --- /dev/null +++ b/functions/check_install.fish @@ -0,0 +1,27 @@ +function check_install -a tool -a package + +if test (count $argv) -lt 1 + return 1 +end + +if command -sq $tool + return 0 +end + +if not ask "$tool doesn't seem to be installed. Attempt to install it?" + return 1 +end + +if test -z $package + set package $tool +end + +pkgadd $package || return 1 + +if not command -sq $tool + return 1 +end + +return 0 + +end |
