diff options
Diffstat (limited to 'completions/lzop')
-rw-r--r-- | completions/lzop | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/completions/lzop b/completions/lzop new file mode 100644 index 00000000..19852b24 --- /dev/null +++ b/completions/lzop @@ -0,0 +1,68 @@ +# lzop(1) completion + +have lzop && +_lzop() +{ + local cur prev xspec + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + 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 0 + fi + + case $prev in + -o|--output) + _filedir + return 0 + ;; + --path) + _filedir -d + return 0 + ;; + -S|--suffix) + return 0 + ;; + esac + + xspec="*.?(t)lzo" + case $prev in + --decompress|--uncompress|--extract|--list|--ls|--info|--test) + xspec="!"$xspec + ;; + --force) + xspec= + ;; + --*) + ;; + -*f*|'<'|'>') + xspec= + ;; + -*[dltx]*) + xspec="!"$xspec + ;; + esac + + _expand || return 0 + + local IFS=$'\t\n' + COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \ + $( compgen -d -- "$cur" ) ) +} && +complete -F _lzop -o filenames lzop + +# 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 |