67 lines
1.4 KiB
Bash

# lrzip(1) completion
_lrzip()
{
local cur prev words cword
_init_completion || return
local xspec="*.lrz"
case $prev in
-w|-S|-V|-h|-'?')
return 0
;;
-d)
xspec="!"$xspec
;;
-o)
_filedir
return 0
;;
-O)
_filedir -d
return 0
;;
-L)
COMPREPLY=( $( compgen -W '{1..9}' -- "$cur" ) )
return 0
;;
-T)
COMPREPLY=( $( compgen -W '{1..10}' -- "$cur" ) )
return 0
;;
-N)
COMPREPLY=( $( compgen -W '{-20..19}' -- "$cur" ) )
return 0
;;
-p)
local var=NPROCESSORS_ONLN
[[ $OSTYPE == *linux* ]] && var=_$var
local n=$( getconf $var 2>/dev/null )
COMPREPLY=( $( compgen -W "{1..${n:-1}}" -- "$cur" ) )
return 0
;;
esac
_expand || return 0
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
return 0
fi
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
$( compgen -d -- "$cur" ) )
} &&
complete -F _lrzip lrzip
# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh