54 lines
1.2 KiB
Plaintext
54 lines
1.2 KiB
Plaintext
|
# lz4 completion -*- shell-script -*-
|
||
|
|
||
|
_lz4()
|
||
|
{
|
||
|
local cur prev words cword
|
||
|
_init_completion || return
|
||
|
|
||
|
case $prev in
|
||
|
-b)
|
||
|
_filedir
|
||
|
return
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
if [[ "$cur" == -* ]]; then
|
||
|
COMPREPLY=( $( compgen -W \
|
||
|
'$( _parse_help "$1" -h | sed -e "/#/d" ) -B{4..7} -i{1..9}' \
|
||
|
-- "$cur" ) )
|
||
|
return
|
||
|
fi
|
||
|
|
||
|
local args word xspec="*.?(t)lz4"
|
||
|
_count_args
|
||
|
[[ $args -gt 2 ]] && return
|
||
|
|
||
|
for word in ${words[@]}; do
|
||
|
case $word in
|
||
|
-*[dt]*)
|
||
|
case $args in
|
||
|
1) xspec="!"$xspec ;;
|
||
|
2) [[ $word == *t* ]] && return
|
||
|
esac
|
||
|
break
|
||
|
;;
|
||
|
-z)
|
||
|
case $args in
|
||
|
1) xspec= ;;
|
||
|
2) xspec="!"$xspec ;;
|
||
|
esac
|
||
|
break
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
_expand || return 0
|
||
|
local IFS=$'\n'
|
||
|
compopt -o filenames
|
||
|
COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
|
||
|
$( compgen -d -- "$cur" ) )
|
||
|
} &&
|
||
|
complete -F _lz4 lz4 lz4c
|
||
|
|
||
|
# ex: ts=4 sw=4 et filetype=sh
|