mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-24 14:36:13 +01:00
completion: Ignore SC2207 for COMPREPLY assigments
Using the same justification as in https://gitlab.gnome.org/GNOME/dconf/-/merge_requests/81#note_2083220: it’s hard to get this right, with error handling, in a way which is understandable to people reading it, and which both bash and shellcheck will be happy with. On the assumption that none of the completions generated by any of these utilities will include ‘problematic’ characters (ones which would cause word splitting or globbing in bash), just ignore the shellcheck warnings. Note that I have not actually closely verified that these utilities can’t return ‘problematic’ characters. This means we can enable shellcheck, with fatal warnings, for these scripts, and hence catch future regressions. If someone wants to improve the handling of globbing/word splitting in some/all of these array assignments in future, the shellcheck disables can be removed. Signed-off-by: Philip Withnall <pwithnall@gnome.org>
This commit is contained in:
parent
6024fb9753
commit
827bca3212
@ -9,6 +9,7 @@
|
||||
__app() {
|
||||
case "${COMP_CWORD}" in
|
||||
1)
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -W "help version list-apps launch action list-actions" -- "${COMP_WORDS[1]}"))
|
||||
return 0
|
||||
;;
|
||||
@ -16,6 +17,7 @@ __app() {
|
||||
2)
|
||||
case "${COMP_WORDS[1]}" in
|
||||
launch|action|list-actions)
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -W "$(gapplication list-apps)" -- "${COMP_WORDS[2]}"))
|
||||
return 0
|
||||
;;
|
||||
@ -33,6 +35,7 @@ __app() {
|
||||
action)
|
||||
# Word 3 is the action name. This is the only one we can help with.
|
||||
if [ "${COMP_CWORD}" == 3 ]; then
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -W "$(gapplication list-actions "${COMP_WORDS[2]}")" -- "${COMP_WORDS[3]}"))
|
||||
return 0
|
||||
else
|
||||
@ -42,6 +45,7 @@ __app() {
|
||||
;;
|
||||
launch)
|
||||
# Filenames...
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -A file "${COMP_WORDS[COMP_CWORD]}"))
|
||||
return 0
|
||||
;;
|
||||
|
@ -14,6 +14,7 @@ __gdbus() {
|
||||
|
||||
local suggestions
|
||||
suggestions="$(gdbus complete "${COMP_LINE}" "${COMP_POINT}")"
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -W "$suggestions" -- "$cur"))
|
||||
|
||||
# Remove colon-word prefix from COMPREPLY items
|
||||
|
@ -111,6 +111,7 @@ __gio_location() {
|
||||
__gio() {
|
||||
# Complete subcommands
|
||||
if (( COMP_CWORD == 1 )); then
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -W "help version cat copy info launch list mime mkdir monitor mount move open rename remove save set trash tree" -- "${COMP_WORDS[1]}"))
|
||||
compopt +o nospace
|
||||
return 0
|
||||
|
@ -35,6 +35,7 @@ __gresource() {
|
||||
;;
|
||||
|
||||
sections|list|details|extract)
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -f -- "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
return 0
|
||||
;;
|
||||
@ -51,6 +52,7 @@ __gresource() {
|
||||
esac
|
||||
|
||||
local IFS=$'\n'
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -W "${choices}" -- "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
}
|
||||
|
||||
|
@ -29,6 +29,7 @@ __gsettings() {
|
||||
2)
|
||||
case "${COMP_WORDS[$((coffset+1))]}" in
|
||||
--schemadir)
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -o dirnames -- "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
return 0
|
||||
;;
|
||||
@ -40,6 +41,7 @@ __gsettings() {
|
||||
choices="$(gsettings "$schemadir" list-schemas 2> /dev/null)"$'\n'"$(gsettings "$schemadir" list-relocatable-schemas 2> /dev/null | sed -e 's.$.:/.')"
|
||||
;;
|
||||
list-schemas)
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -W "--print-paths" -- "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
return 0
|
||||
;;
|
||||
@ -65,6 +67,7 @@ __gsettings() {
|
||||
4)
|
||||
case "${COMP_WORDS[$((coffset+2))]}" in
|
||||
set)
|
||||
# shellcheck disable=SC2207
|
||||
range=($(gsettings "$schemadir" range "${COMP_WORDS[$((coffset+2))]}" "${COMP_WORDS[$((coffset+3))]}" 2> /dev/null))
|
||||
case "${range[0]}" in
|
||||
enum)
|
||||
@ -82,6 +85,7 @@ __gsettings() {
|
||||
esac
|
||||
|
||||
local IFS=$'\n'
|
||||
# shellcheck disable=SC2207
|
||||
COMPREPLY=($(compgen -W "${choices}" -- "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user