Skip to content

Commit 15f3ecc

Browse files
authored
Merge pull request #1037 from akinomyoga/refactor-api-6
refactor: rename completion functions
2 parents 336488d + 7f8d3c0 commit 15f3ecc

File tree

15 files changed

+65
-53
lines changed

15 files changed

+65
-53
lines changed

bash_completion

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1961,8 +1961,8 @@ _comp_compgen_services()
19611961
# one, because we set it up eagerly as completer for scripts in sysv init dirs
19621962
# below.
19631963
#
1964-
# TODO:API: rename per conventions, rework to use vars rather than outputting
1965-
_service()
1964+
# @since 2.12
1965+
_comp_complete_service()
19661966
{
19671967
local cur prev words cword comp_args
19681968
_comp_initialize -- "$@" || return
@@ -1981,7 +1981,7 @@ _service()
19811981
"${sysvdirs[0]}/${prev##*/}" 2>/dev/null) start stop"
19821982
fi
19831983
} &&
1984-
complete -F _service service
1984+
complete -F _comp_complete_service service
19851985

19861986
_comp__init_set_up_service_completions()
19871987
{
@@ -1990,7 +1990,7 @@ _comp__init_set_up_service_completions()
19901990
for svcdir in "${sysvdirs[@]}"; do
19911991
_comp_expand_glob svcs '"$svcdir"/!($_comp_backup_glob)'
19921992
for svc in "${svcs[@]}"; do
1993-
[[ -x $svc ]] && complete -F _service "$svc"
1993+
[[ -x $svc ]] && complete -F _comp_complete_service "$svc"
19941994
done
19951995
done
19961996
unset -f "$FUNCNAME"
@@ -2353,8 +2353,8 @@ _comp_try_faketty()
23532353

23542354
# This function provides simple user@host completion
23552355
#
2356-
# TODO:API: rename per conventions
2357-
_user_at_host()
2356+
# @since 2.12
2357+
_comp_complete_user_at_host()
23582358
{
23592359
local cur prev words cword comp_args
23602360
_comp_initialize -n : -- "$@" || return
@@ -2366,19 +2366,19 @@ _user_at_host()
23662366
compopt -o nospace
23672367
fi
23682368
}
2369-
shopt -u hostcomplete && complete -F _user_at_host talk ytalk finger
2369+
shopt -u hostcomplete && complete -F _comp_complete_user_at_host talk ytalk finger
23702370

23712371
# NOTE: Using this function as a helper function is deprecated. Use
23722372
# `_comp_compgen_known_hosts' instead.
2373-
# TODO:API: rename per conventions
2374-
_known_hosts()
2373+
# @since 2.12
2374+
_comp_complete_known_hosts()
23752375
{
23762376
local cur prev words cword comp_args
23772377
_comp_initialize -n : -- "$@" || return
23782378

2379-
# NOTE: Using `_known_hosts' as a helper function and passing options to
2380-
# `_known_hosts' is deprecated: Use `_comp_compgen_known_hosts'
2381-
# instead.
2379+
# NOTE: Using `_known_hosts' (the old name of `_comp_complete_known_hosts')
2380+
# as a helper function and passing options to `_known_hosts' is
2381+
# deprecated: Use `_comp_compgen_known_hosts' instead.
23822382
local -a options=()
23832383
[[ ${1-} == -a || ${2-} == -a ]] && options+=(-a)
23842384
[[ ${1-} == -c || ${2-} == -c ]] && options+=(-c)
@@ -2440,7 +2440,7 @@ _comp__included_ssh_config_files()
24402440
done
24412441
}
24422442

2443-
# Helper function for completing _known_hosts.
2443+
# Helper function for completing _comp_complete_known_hosts.
24442444
# This function performs host completion based on ssh's config and known_hosts
24452445
# files, as well as hostnames reported by avahi-browse if
24462446
# BASH_COMPLETION_KNOWN_HOSTS_WITH_AVAHI is set to a non-empty value.
@@ -2663,7 +2663,7 @@ _comp_compgen_known_hosts__impl()
26632663

26642664
_comp_compgen -v known_hosts -c "$prefix$cur" ltrim_colon "${known_hosts[@]}"
26652665
}
2666-
complete -F _known_hosts traceroute traceroute6 \
2666+
complete -F _comp_complete_known_hosts traceroute traceroute6 \
26672667
fping fping6 telnet rsh rlogin ftp dig drill mtr ssh-installkeys showmount
26682668

26692669
# Convert the word index in `words` to the index in `COMP_WORDS`.
@@ -2761,7 +2761,7 @@ _comp_command_offset()
27612761
if ((${#COMPREPLY[@]} == 0)); then
27622762
# XXX will probably never happen as long as completion loader loads
27632763
# *something* for every command thrown at it ($cspec != empty)
2764-
_minimal "${args[@]}"
2764+
_comp_complete_minimal "${args[@]}"
27652765
fi
27662766
elif [[ $cspec == *' -F '* ]]; then
27672767
# complete -F <function>
@@ -2865,7 +2865,7 @@ _comp_compgen_commands()
28652865
}
28662866

28672867
# @since 2.12
2868-
_comp_longopt()
2868+
_comp_complete_longopt()
28692869
{
28702870
local cur prev words cword was_split comp_args
28712871
_comp_initialize -s -- "$@" || return
@@ -2915,7 +2915,7 @@ _comp_longopt()
29152915
fi
29162916
}
29172917
# makeinfo and texi2dvi are defined elsewhere.
2918-
complete -F _comp_longopt \
2918+
complete -F _comp_complete_longopt \
29192919
a2ps awk base64 bash bc bison cat chroot colordiff cp \
29202920
csplit cut date df diff dir du enscript env expand fmt fold gperf \
29212921
grep grub head irb ld ldd less ln ls m4 mkdir mkfifo mknod \
@@ -2926,12 +2926,17 @@ complete -F _comp_longopt \
29262926
# @since 2.12
29272927
declare -Ag _comp_xspecs
29282928
2929-
# TODO:API: rename per conventions
2930-
_filedir_xspec()
2929+
# @since 2.12
2930+
_comp_complete_filedir_xspec()
29312931
{
29322932
local cur prev words cword comp_args
29332933
_comp_initialize -- "$@" || return
2934+
_comp_compgen_filedir_xspec "$1"
2935+
}
29342936
2937+
# @since 2.12
2938+
_comp_compgen_filedir_xspec()
2939+
{
29352940
_comp_compgen_tilde && return
29362941
29372942
local ret
@@ -2960,10 +2965,10 @@ _filedir_xspec()
29602965
${#toks[@]} -lt 1 ]] &&
29612966
_comp_compgen -av toks -c "$quoted" -- -f
29622967
2963-
if ((${#toks[@]} != 0)); then
2964-
compopt -o filenames
2965-
COMPREPLY=("${toks[@]}")
2966-
fi
2968+
((${#toks[@]})) || return 1
2969+
2970+
compopt -o filenames
2971+
_comp_compgen -RU toks -- -W '"${toks[@]}"'
29672972
}
29682973
29692974
_comp__init_install_xspec()
@@ -3035,15 +3040,15 @@ unset -f _comp__init_install_xspec
30353040
30363041
# Minimal completion to use as fallback in _comp_complete_load.
30373042
# TODO:API: rename per conventions
3038-
_minimal()
3043+
_comp_complete_minimal()
30393044
{
30403045
local cur prev words cword comp_args
30413046
_comp_initialize -- "$@" || return
30423047
compopt -o bashdefault -o default
30433048
}
30443049
# Complete the empty string to allow completion of '>', '>>', and '<' on < 4.3
30453050
# https://lists.gnu.org/archive/html/bug-bash/2012-01/msg00045.html
3046-
complete -F _minimal ''
3051+
complete -F _comp_complete_minimal ''
30473052
30483053
# @since 2.12
30493054
_comp_load()
@@ -3168,10 +3173,10 @@ _comp_load()
31683173
31693174
# Look up simple "xspec" completions
31703175
[[ -v _comp_xspecs[$cmdname] || -v _xspecs[$cmdname] ]] &&
3171-
complete -F _filedir_xspec "$cmdname" "$backslash$cmdname" && return 0
3176+
complete -F _comp_complete_filedir_xspec "$cmdname" "$backslash$cmdname" && return 0
31723177
31733178
if [[ $flag_fallback_default ]]; then
3174-
complete -F _minimal -- "$origcmd" && return 0
3179+
complete -F _comp_complete_minimal -- "$origcmd" && return 0
31753180
fi
31763181
31773182
return 1

bash_completion.d/000_bash_completion_compat.bash

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ _comp_deprecate_func 2.12 _xfunc _comp_xfunc
1111
_comp_deprecate_func 2.12 _upvars _comp_upvars
1212
_comp_deprecate_func 2.12 _get_comp_words_by_ref _comp_get_words
1313
_comp_deprecate_func 2.12 _known_hosts_real _comp_compgen_known_hosts
14-
_comp_deprecate_func 2.12 _longopt _comp_longopt
1514
_comp_deprecate_func 2.12 __ltrim_colon_completions _comp_ltrim_colon_completions
1615
_comp_deprecate_func 2.12 _variables _comp_compgen_variables
1716
_comp_deprecate_func 2.12 _signals _comp_compgen_signals
@@ -35,6 +34,14 @@ _comp_deprecate_func 2.12 _usergroup _comp_compgen_usergroups
3534
_comp_deprecate_func 2.12 _complete_as_root _comp_as_root
3635
_comp_deprecate_func 2.12 __load_completion _comp_load
3736

37+
# completers
38+
_comp_deprecate_func 2.12 _service _comp_complete_service
39+
_comp_deprecate_func 2.12 _user_at_host _comp_complete_user_at_host
40+
_comp_deprecate_func 2.12 _known_hosts _comp_complete_known_hosts
41+
_comp_deprecate_func 2.12 _longopt _comp_complete_longopt
42+
_comp_deprecate_func 2.12 _filedir_xspec _comp_complete_filedir_xspec
43+
_comp_deprecate_func 2.12 _minimal _comp_complete_minimal
44+
3845
# @deprecated 2.12 Use `_comp_xspecs`
3946
declare -Ag _xspecs
4047

completions/7z

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ _comp_cmd_7z()
8787
local ret
8888
_comp_count_args
8989
if ((ret == 2)); then
90-
_filedir_xspec unzip "${@:2}"
90+
_comp_compgen_filedir_xspec unzip
9191
# TODO: parsing 7z i output?
9292
# - how to figure out if the format is input or output?
9393
# - find string Formats:, read until next empty line

completions/abook

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ _comp_cmd_abook()
1515

1616
case $cur in
1717
-*)
18-
_comp_longopt "$@"
18+
_comp_complete_longopt "$@"
1919
return
2020
;;
2121
esac

completions/file-roller

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ _comp_cmd_file_roller()
1818
return
1919
;;
2020
--add-to | -${noargopts}a)
21-
_filedir_xspec unzip "${@:2}"
21+
_comp_compgen_filedir_xspec unzip
2222
_comp_compgen -a filedir "$exts"
2323
return
2424
;;
@@ -36,7 +36,7 @@ _comp_cmd_file_roller()
3636
return
3737
fi
3838

39-
_filedir_xspec unzip "${@:2}"
39+
_comp_compgen_filedir_xspec unzip
4040
_comp_compgen -a filedir "$exts"
4141
} &&
4242
complete -F _comp_cmd_file_roller file-roller

completions/gcc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ _comp_cmd_gcc()
6565
"$1" --version 2>/dev/null | command grep -q GCC; then
6666
complete -F _comp_cmd_gcc "$1"
6767
else
68-
complete -F _minimal "$1"
68+
complete -F _comp_complete_minimal "$1"
6969
fi
7070
} &&
7171
_comp_cmd_gcc__setup_cmd cc gcc &&

completions/jar

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ _comp_cmd_jar()
1515
_comp_compgen_filedir
1616
;;
1717
*f)
18-
_filedir_xspec unzip "${@:2}"
18+
_comp_compgen_filedir_xspec unzip
1919
;;
2020
*)
2121
_comp_compgen_filedir

completions/makepkg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ _comp_cmd_makepkg__bootstrap()
3333
fname=_comp_cmd_makepkg__slackware
3434
;;
3535
*)
36-
fname=_minimal
36+
fname=_comp_complete_minimal
3737
;;
3838
esac
3939

completions/mussh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ _comp_cmd_mussh()
3434
return
3535
;;
3636
-p | -h)
37-
[[ $cur == *@* ]] && _user_at_host "$@" || _comp_compgen_known_hosts -a -- "$cur"
37+
[[ $cur == *@* ]] && _comp_complete_user_at_host "$@" || _comp_compgen_known_hosts -a -- "$cur"
3838
return
3939
;;
4040
-c)

completions/pyvenv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ _comp_cmd_pyvenv()
1414
[[ $was_split ]] && return
1515

1616
if [[ $cur == -* ]]; then
17-
_comp_longopt "$@"
17+
_comp_complete_longopt "$@"
1818
return
1919
fi
2020

0 commit comments

Comments
 (0)