elvish_config/aliases/archiver.elv

39 lines
689 B
Plaintext

#alias:new archiver e:archiver
fn archiver [@_args]{
help = {
echo "Usage : archiver [(-zlxgb)] <file to compress>"
return
}
if (or (== (count $_args) 0) (eq $_args[0] -h)) {
$help
}
local:format = zst
local:o = $_args[0]
if (and (has-prefix $o -) (> (count $o) 1)) {
o = $o[1]
local:m = [
&z=zst
&l=lz4
&x=xz
&g=gzip
&b=bz2
]
if (not (has-key $m $o)) {
$help
}
format = $m[$o]
_args = $_args[1:]
}
if (== (count $_args) 0) {
$help
}
peach [f]{
local:f = $f
if (eq $f[-1] /) {
f = $f[:-1]
}
e:arc archive $f'.tar.'$format $f
echo "'"$f"'" archivé
} $_args
}