split cpio completion
This commit is contained in:
parent
944221c4d1
commit
9cb6c0e14d
111
bash_completion
111
bash_completion
@ -8144,117 +8144,6 @@ _pkg_config()
|
||||
} &&
|
||||
complete -F _pkg_config pkg-config
|
||||
|
||||
|
||||
# cpio(1) completion
|
||||
#
|
||||
have cpio && {
|
||||
_cpio_format()
|
||||
{
|
||||
COMPREPLY=( $( compgen -W 'bin odc newc crc tar ustar hpbin hpodc' -- $cur ) )
|
||||
}
|
||||
|
||||
_cpio()
|
||||
{
|
||||
local cur
|
||||
|
||||
COMPREPLY=()
|
||||
cur=`_get_cword`
|
||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||
|
||||
# --name value style option
|
||||
case $prev in
|
||||
-H)
|
||||
_cpio_format
|
||||
return 0
|
||||
;;
|
||||
-@(E|F|I))
|
||||
_filedir
|
||||
return 0
|
||||
;;
|
||||
-R)
|
||||
_usergroup
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# --name=value style option
|
||||
if [[ "$cur" == *=* ]]; then
|
||||
prev=${cur/=*/}
|
||||
cur=${cur/*=/}
|
||||
case $prev in
|
||||
--format)
|
||||
_cpio_format
|
||||
return 0
|
||||
;;
|
||||
--@(file|pattern-file))
|
||||
_filedir
|
||||
return 0
|
||||
;;
|
||||
--owner)
|
||||
_usergroup
|
||||
return 0
|
||||
;;
|
||||
--rsh-command)
|
||||
COMPREPLY=( $( compgen -c -- $cur ) )
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ $COMP_CWORD -eq 1 ]; then
|
||||
COMPREPLY=( $( compgen -W '-o --create -i --extract -p --pass-through' -- $cur) )
|
||||
else
|
||||
case ${COMP_WORDS[1]} in
|
||||
-@(o|-create))
|
||||
if [[ "$cur" == -* ]]; then
|
||||
COMPREPLY=( $( compgen -W '-0 -a -c -v -A -B\
|
||||
-L -V -C -H -M -O -F --file= --format=\
|
||||
--message= --null --reset-access-time\
|
||||
--verbose --dot --append --block-size=\
|
||||
--dereference --io-size= --quiet\
|
||||
--force-local --rsh-command= --help\
|
||||
--version' -- $cur ) )
|
||||
fi
|
||||
;;
|
||||
-@(i|-extract))
|
||||
if [[ "$cur" == -* ]]; then
|
||||
COMPREPLY=( $( compgen -W '-b -c -d -f -m -n -r\
|
||||
-t -s -u -v -B -S -V -C -E -H -M -R -I\
|
||||
-F --file= --make-directories\
|
||||
--nonmatching\
|
||||
--preserve-modification-time\
|
||||
--numeric-uid-gid --rename -t --list\
|
||||
--swap-bytes --swap --dot\
|
||||
--unconditional --verbose --block-size=\
|
||||
--swap-halfwords --io-size=\
|
||||
--pattern-file= --format= --owner=\
|
||||
--no-preserve-owner --message=\
|
||||
--force-local --no-absolute-filenames\
|
||||
--sparse --only-verify-crc --quiet\
|
||||
--rsh-command= --help\
|
||||
--version' -- $cur ) )
|
||||
fi
|
||||
;;
|
||||
-@(p|-pass-through))
|
||||
if [[ "$cur" == -* ]]; then
|
||||
COMPREPLY=( $( compgen -W '-0 -a -d -l -m -u -v\
|
||||
-L -V -R --null --reset-access-time\
|
||||
--make-directories --link --quiet\
|
||||
--preserve-modification-time\
|
||||
--unconditional --verbose --dot\
|
||||
--dereference --owner=\
|
||||
--no-preserve-owner --sparse --help\
|
||||
--version' -- $cur ) )
|
||||
else
|
||||
_filedir -d
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
complete -F _cpio cpio
|
||||
}
|
||||
|
||||
# id(1) completion
|
||||
#
|
||||
have id &&
|
||||
|
112
contrib/cpio
Normal file
112
contrib/cpio
Normal file
@ -0,0 +1,112 @@
|
||||
# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
|
||||
# ex: ts=8 sw=8 noet filetype=sh
|
||||
#
|
||||
# bash completion for cpio
|
||||
|
||||
have cpio && {
|
||||
_cpio_format()
|
||||
{
|
||||
COMPREPLY=( $( compgen -W 'bin odc newc crc tar ustar hpbin hpodc' -- $cur ) )
|
||||
}
|
||||
|
||||
_cpio()
|
||||
{
|
||||
local cur
|
||||
|
||||
COMPREPLY=()
|
||||
cur=`_get_cword`
|
||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||
|
||||
# --name value style option
|
||||
case $prev in
|
||||
-H)
|
||||
_cpio_format
|
||||
return 0
|
||||
;;
|
||||
-@(E|F|I))
|
||||
_filedir
|
||||
return 0
|
||||
;;
|
||||
-R)
|
||||
_usergroup
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# --name=value style option
|
||||
if [[ "$cur" == *=* ]]; then
|
||||
prev=${cur/=*/}
|
||||
cur=${cur/*=/}
|
||||
case $prev in
|
||||
--format)
|
||||
_cpio_format
|
||||
return 0
|
||||
;;
|
||||
--@(file|pattern-file))
|
||||
_filedir
|
||||
return 0
|
||||
;;
|
||||
--owner)
|
||||
_usergroup
|
||||
return 0
|
||||
;;
|
||||
--rsh-command)
|
||||
COMPREPLY=( $( compgen -c -- $cur ) )
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ $COMP_CWORD -eq 1 ]; then
|
||||
COMPREPLY=( $( compgen -W '-o --create -i --extract -p --pass-through' -- $cur) )
|
||||
else
|
||||
case ${COMP_WORDS[1]} in
|
||||
-@(o|-create))
|
||||
if [[ "$cur" == -* ]]; then
|
||||
COMPREPLY=( $( compgen -W '-0 -a -c -v -A -B\
|
||||
-L -V -C -H -M -O -F --file= --format=\
|
||||
--message= --null --reset-access-time\
|
||||
--verbose --dot --append --block-size=\
|
||||
--dereference --io-size= --quiet\
|
||||
--force-local --rsh-command= --help\
|
||||
--version' -- $cur ) )
|
||||
fi
|
||||
;;
|
||||
-@(i|-extract))
|
||||
if [[ "$cur" == -* ]]; then
|
||||
COMPREPLY=( $( compgen -W '-b -c -d -f -m -n -r\
|
||||
-t -s -u -v -B -S -V -C -E -H -M -R -I\
|
||||
-F --file= --make-directories\
|
||||
--nonmatching\
|
||||
--preserve-modification-time\
|
||||
--numeric-uid-gid --rename -t --list\
|
||||
--swap-bytes --swap --dot\
|
||||
--unconditional --verbose --block-size=\
|
||||
--swap-halfwords --io-size=\
|
||||
--pattern-file= --format= --owner=\
|
||||
--no-preserve-owner --message=\
|
||||
--force-local --no-absolute-filenames\
|
||||
--sparse --only-verify-crc --quiet\
|
||||
--rsh-command= --help\
|
||||
--version' -- $cur ) )
|
||||
fi
|
||||
;;
|
||||
-@(p|-pass-through))
|
||||
if [[ "$cur" == -* ]]; then
|
||||
COMPREPLY=( $( compgen -W '-0 -a -d -l -m -u -v\
|
||||
-L -V -R --null --reset-access-time\
|
||||
--make-directories --link --quiet\
|
||||
--preserve-modification-time\
|
||||
--unconditional --verbose --dot\
|
||||
--dereference --owner=\
|
||||
--no-preserve-owner --sparse --help\
|
||||
--version' -- $cur ) )
|
||||
else
|
||||
_filedir -d
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
complete -F _cpio cpio
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user