aboutsummaryrefslogtreecommitdiff
path: root/functions/uz.fish
diff options
context:
space:
mode:
Diffstat (limited to 'functions/uz.fish')
-rw-r--r--functions/uz.fish26
1 files changed, 26 insertions, 0 deletions
diff --git a/functions/uz.fish b/functions/uz.fish
new file mode 100644
index 0000000..b23780f
--- /dev/null
+++ b/functions/uz.fish
@@ -0,0 +1,26 @@
+function uz --description "Decompress an archive without making a mess"
+
+if test (count $argv) -lt 1
+ echo "Missing argument."
+ return 1
+end
+
+if not command -sq bsdtar
+ echo "Can't fint bsdtar."
+ return 1
+end
+
+for archive in $argv
+ set -l dir (string split '.' "$archive")[1]
+ if not test -d "$dir"
+ mkdir "$dir"
+ pushd "$dir"
+ command bsdtar -xf ../"$archive"
+ popd
+ else
+ echo "Can't overwrite existing directory."
+ end
+end
+
+end
+