Remove = from COMP_WORDBREAKS when using _split_longopt().

Without this, it does not do anything useful in bash >= 4.0.
This commit is contained in:
Ville Skyttä 2011-04-25 00:09:50 +03:00
parent a0afe0959b
commit 6e809d032c
36 changed files with 87 additions and 80 deletions

View File

@ -649,6 +649,8 @@ _filedir()
# This function splits $cur=--foo=bar into $prev=--foo, $cur=bar, making it # This function splits $cur=--foo=bar into $prev=--foo, $cur=bar, making it
# easier to support both "--foo bar" and "--foo=bar" style completions. # easier to support both "--foo bar" and "--foo=bar" style completions.
# `=' should have been removed from COMP_WORDBREAKS when setting $cur for
# this to be useful.
# Returns 0 if current option was split, 1 otherwise. # Returns 0 if current option was split, 1 otherwise.
# #
_split_longopt() _split_longopt()

View File

@ -8,7 +8,7 @@ have mock || return
_mock() _mock()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local plugins='tmpfs root_cache yum_cache bind_mount ccache' local plugins='tmpfs root_cache yum_cache bind_mount ccache'
local cfgdir=/etc/mock count=0 i local cfgdir=/etc/mock count=0 i

View File

@ -38,7 +38,7 @@ _yum_plugins()
_yum() _yum()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local special i local special i
for (( i=0; i < ${#words[@]}-1; i++ )); do for (( i=0; i < ${#words[@]}-1; i++ )); do

View File

@ -18,7 +18,7 @@ _aspell_dictionary()
_aspell() _aspell()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -4,7 +4,7 @@ have autoconf &&
_autoconf() _autoconf()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -44,7 +44,7 @@ have autoreconf || have autoheader &&
_autoreconf() _autoreconf()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -85,7 +85,7 @@ have autoscan || have autoupdate &&
_autoscan() _autoscan()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -4,7 +4,7 @@ have automake &&
_automake() _automake()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -40,7 +40,7 @@ have aclocal &&
_aclocal() _aclocal()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -32,7 +32,7 @@ _bluetooth_packet_types()
_hcitool() _hcitool()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -114,7 +114,7 @@ complete -F _hcitool hcitool
_sdptool() _sdptool()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -5,7 +5,7 @@ have chkconfig || return
_chkconfig() _chkconfig()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -5,7 +5,7 @@
_configure() _configure()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -7,7 +7,7 @@ _chown()
{ {
local cur prev words cword local cur prev words cword
# Don't treat user:group as separate words. # Don't treat user:group as separate words.
_init_completion -n : || return _init_completion -n := || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -56,7 +56,7 @@ have chgrp &&
_chgrp() _chgrp()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
cur=${cur//\\\\/} cur=${cur//\\\\/}
@ -116,7 +116,7 @@ have mktemp &&
_mktemp() _mktemp()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -10,7 +10,7 @@ _cpio_format()
_cpio() _cpio()
{ {
local cur prev words cword local cur prev words cword
_init_completion -n : || return _init_completion -n := || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -21,7 +21,7 @@ _comp_dpkg_installed_packages()
_dpkg() _dpkg()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
_expand || return 0 _expand || return 0

View File

@ -24,7 +24,7 @@ _heimdal_encodings()
_ktutil() _ktutil()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local command options split=false local command options split=false

View File

@ -5,7 +5,7 @@ have iconv || return
_iconv() _iconv()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -5,7 +5,7 @@ have iptables || return
_iptables() _iptables()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local table chain='s/^Chain \([^ ]\{1,\}\).*$/\1/p' local table chain='s/^Chain \([^ ]\{1,\}\).*$/\1/p'

View File

@ -24,7 +24,7 @@ have add_members &&
_add_members() _add_members()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -57,7 +57,7 @@ have remove_members &&
_remove_members() _remove_members()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -85,7 +85,7 @@ have find_member &&
_find_member() _find_member()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -111,7 +111,7 @@ have clone_member &&
_clone_member() _clone_member()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -137,7 +137,7 @@ have sync_members &&
_sync_members() _sync_members()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -215,7 +215,7 @@ have list_members &&
_list_members() _list_members()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -252,7 +252,7 @@ have change_pw &&
_change_pw() _change_pw()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -324,7 +324,7 @@ have config_list &&
_config_list() _config_list()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -354,7 +354,7 @@ have arch && have mailmanctl &&
_arch() _arch()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -413,7 +413,7 @@ have inject &&
_inject() _inject()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -510,7 +510,7 @@ have qrunner &&
_qrunner() _qrunner()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
_split_longopt && return 0 _split_longopt && return 0

View File

@ -5,7 +5,7 @@ have make || have gmake || have gnumake || have pmake || return
_make() _make()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local file makef makef_dir="." makef_inc i split=false local file makef makef_dir="." makef_inc i split=false

View File

@ -5,7 +5,7 @@ have mc || return
_mc() _mc()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -73,7 +73,7 @@ _mdadm_update_flag()
_mdadm() _mdadm()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -5,7 +5,7 @@ have mkinitrd || return
_mkinitrd() _mkinitrd()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -5,7 +5,7 @@ have mysqladmin || return
_mysqladmin() _mysqladmin()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -4,7 +4,7 @@ have mii-tool &&
_mii_tool() _mii_tool()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -37,7 +37,7 @@ have mii-diag &&
_mii_diag() _mii_diag()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -5,7 +5,7 @@ have iscsiadm || return
_iscsiadm() _iscsiadm()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -5,7 +5,7 @@ have pkg-config || return
_pkg_config() _pkg_config()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -23,7 +23,7 @@ _pg_users()
_createdb() _createdb()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -64,7 +64,7 @@ complete -F _createdb -o default createdb
_dropdb() _dropdb()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -100,7 +100,7 @@ complete -F _dropdb -o default dropdb
_psql() _psql()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -34,7 +34,7 @@ _filesystems()
_quota() _quota()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -62,7 +62,7 @@ complete -F _quota -o default quota
_setquota() _setquota()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -100,7 +100,7 @@ complete -F _setquota -o default setquota
_edquota() _edquota()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -131,7 +131,7 @@ complete -F _edquota -o default edquota
_quotacheck() _quotacheck()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -159,7 +159,7 @@ complete -F _quotacheck -o default quotacheck
_repquota() _repquota()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -187,7 +187,7 @@ complete -F _repquota -o default repquota
_quotaon() _quotaon()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -213,7 +213,7 @@ complete -F _quotaon -o default quotaon
_quotaoff() _quotaoff()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -88,7 +88,7 @@ have querybts &&
_querybts() _querybts()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -40,7 +40,7 @@ _rpm_macros()
_rpm() _rpm()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
if [ $cword -eq 1 ]; then if [ $cword -eq 1 ]; then
# first parameter on line # first parameter on line
@ -57,10 +57,12 @@ _rpm()
-- "$cur" ) ) -- "$cur" ) )
;; ;;
esac esac
return 0
return 0
fi fi
local split=false
_split_longopt && split=true
case $prev in case $prev in
--dbpath|--excludepath|--prefix|--relocate|--root) --dbpath|--excludepath|--prefix|--relocate|--root)
_filedir -d _filedir -d
@ -114,6 +116,8 @@ _rpm()
;; ;;
esac esac
$split && return 0
# options common to all modes # options common to all modes
local opts="--define --eval --macros --nodigest --nosignature --rcfile \ local opts="--define --eval --macros --nodigest --nosignature --rcfile \
--quiet --pipe --verbose" --quiet --pipe --verbose"
@ -230,7 +234,7 @@ complete -F _rpm rpm
_rpmbuild() _rpmbuild()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -5,7 +5,7 @@ have rtcwake || return
_rtcwake() _rtcwake()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -31,7 +31,7 @@ _samba_debuglevel()
_smbclient() _smbclient()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -96,7 +96,7 @@ complete -F _smbclient smbclient
_smbget() _smbget()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -127,7 +127,7 @@ complete -F _smbget smbget
_smbcacls() _smbcacls()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -159,7 +159,7 @@ complete -F _smbcacls smbcacls
_smbcquotas() _smbcquotas()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -250,7 +250,7 @@ complete -F _smbtar smbtar
_smbtree() _smbtree()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -4,7 +4,7 @@ have useradd &&
_useradd() _useradd()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -54,7 +54,7 @@ have usermod &&
_usermod() _usermod()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -117,7 +117,7 @@ have chage &&
_chage() _chage()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -167,7 +167,7 @@ have chpasswd &&
_chpasswd() _chpasswd()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -197,7 +197,7 @@ have newusers &&
_newusers() _newusers()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -244,7 +244,7 @@ have groupadd &&
_groupadd() _groupadd()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -272,7 +272,7 @@ have groupmod &&
_groupmod() _groupmod()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -399,7 +399,7 @@ have faillog &&
_faillog() _faillog()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -428,7 +428,7 @@ have lastlog &&
_lastlog() _lastlog()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -106,7 +106,7 @@ _smartctl_drivedb()
_smartctl() _smartctl()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -7,8 +7,6 @@ _sysbench()
local cur prev words cword local cur prev words cword
_init_completion -n = || return _init_completion -n = || return
# long options need the "=" (whitespace split doesn't work), but we split
# internally to make processing easier
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true
@ -121,6 +119,9 @@ _sysbench()
fi fi
done done
# Long options need the "=" (whitespace split doesn't work), so we
# include it in completions that require a value.
local opts="--num-threads= --max-requests= --max-time= --thread-stack-size= local opts="--num-threads= --max-requests= --max-time= --thread-stack-size=
--init-rng= --debug= --validate= --help --version" --init-rng= --debug= --validate= --help --version"

View File

@ -5,7 +5,7 @@ have tar || return
_tar() _tar()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local ext regex tar untar local ext regex tar untar

View File

@ -5,7 +5,7 @@ have wol || return
_wol() _wol()
{ {
local cur prev words cword local cur prev words cword
_init_completion -n : || return _init_completion -n := || return
local split=false local split=false
_split_longopt && split=true _split_longopt && split=true

View File

@ -4,7 +4,10 @@ have xz || have pxz &&
_xz() _xz()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
local split=false
_split_longopt && split=true
if [[ "$cur" == -* ]]; then if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--compress --decompress --test --list \ COMPREPLY=( $( compgen -W '--compress --decompress --test --list \
@ -16,9 +19,6 @@ _xz()
return 0 return 0
fi fi
local split=false
_split_longopt && split=true
local xspec="*.@(xz|lzma|txz|tlz)" local xspec="*.@(xz|lzma|txz|tlz)"
case $prev in case $prev in
@ -64,7 +64,7 @@ have xzdec &&
_xzdec() _xzdec()
{ {
local cur prev words cword local cur prev words cword
_init_completion || return _init_completion -n = || return
if [[ "$cur" == -* ]]; then if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--memory --quiet --help --version' \ COMPREPLY=( $( compgen -W '--memory --quiet --help --version' \