aboutsummaryrefslogtreecommitdiff
path: root/functions/check_install.fish
diff options
context:
space:
mode:
authorDeposite Pirate2026-02-16 02:22:00 +0100
committerDeposite Pirate2026-02-16 02:22:00 +0100
commite5d665865e7cc800bb4deecd6aedcf3015e65b10 (patch)
tree831b1c0adbd2aa8d2bb80ff2ae8c6bd7f4d8513d /functions/check_install.fish
parent7cfcd5a663a61e14de445426ea3f794e6b91fdda (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.fish27
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