diff options
Diffstat (limited to 'completions/lzop')
-rw-r--r-- | completions/lzop | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/completions/lzop b/completions/lzop new file mode 100644 index 0000000..2642742 --- /dev/null +++ b/completions/lzop @@ -0,0 +1,59 @@ +# lzop(1) completion -*- shell-script -*- + +_lzop() +{ + local cur prev words cword + _init_completion || return + + case $prev in + --output | -!(-*)o) + _filedir + return + ;; + --path) + _filedir -d + return + ;; + --suffix | -!(-*)S) + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '-1 -2 -3 -4 -5 -6 -7 -8 -9 -P + --fast --best --decompress --extract --test --list --ls --info + --sysinfo --license --help --version --stdout --output --path + --force --no-checksum --no-name --name --no-mode --no-time --suffix + --keep --delete --crc32 --no-warn --ignore-warn --quiet --verbose + --no-stdin --filter --checksum --no-color --mono --color' \ + -- "$cur")) + return + fi + + local xspec="*.?(t)lzo" + case $prev in + --decompress | --uncompress | --extract | --list | --ls | --info | --test) + xspec="!"$xspec + ;; + --force) + xspec= + ;; + --*) ;; + + -*f*) + xspec= + ;; + -*[dltx]*) + xspec="!"$xspec + ;; + esac + + _tilde "$cur" || return + + local IFS=$'\n' + compopt -o filenames + COMPREPLY=($(compgen -f -X "$xspec" -- "$cur") $(compgen -d -- "$cur")) +} && + complete -F _lzop lzop + +# ex: filetype=sh |