60 lines
1.4 KiB
Bash

# 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