diff options
Diffstat (limited to 'completions/lrzip')
-rw-r--r-- | completions/lrzip | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/completions/lrzip b/completions/lrzip index 5cde88a8..1569dab4 100644 --- a/completions/lrzip +++ b/completions/lrzip @@ -1,22 +1,14 @@ -# lrzip(1) completion +# lrzip(1) completion -*- shell-script -*- -have lrzip && _lrzip() { - COMPREPLY=() - local cur prev - _get_comp_words_by_ref cur prev - - if [[ "$cur" == -* && $prev != -N ]]; then - COMPREPLY=( $( compgen -W '-w -d -o -O -S -f -D -q -L -n -l -b -g -M \ - -T -N -v -vv -V -h' -- "$cur" ) ) - return 0 - fi + local cur prev words cword + _init_completion || return local xspec="*.lrz" case $prev in - -w|-S|-V|-h) + -w|-S|-V|-h|-'?') return 0 ;; -d) @@ -31,34 +23,38 @@ _lrzip() return 0 ;; -L) - COMPREPLY=( $( compgen -W '1 2 3 4 5 6 7 8 9' -- "$cur" ) ) + COMPREPLY=( $( compgen -W '{1..9}' -- "$cur" ) ) return 0 ;; -T) - COMPREPLY=( $( compgen -W '1 2 3 4 5 6 7 8 9 10' -- "$cur" ) ) + COMPREPLY=( $( compgen -W '{1..10}' -- "$cur" ) ) return 0 ;; -N) - COMPREPLY=( $( compgen -W '-20 -19 -18 -17 -16 -15 -14 -13 -12 \ - -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 \ - 12 13 14 15 16 17 18 19' -- "$cur" ) ) + 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 + 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 |