mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-01 23:13:40 +02: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:
@@ -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
|
||||
;;
|
||||
|
Reference in New Issue
Block a user