Commit 34dfced1 authored by Michael Hanselmann's avatar Michael Hanselmann
Browse files

Revert "bash_completion: Always enable extglob"

This reverts commit 94014b63

. Turns out
I misunderstood the “extglob” shell option.
Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
Reviewed-by: default avatarBernardo Dal Seno <bdalseno@google.com>
parent 4ee72287
...@@ -526,12 +526,13 @@ def WriteCompletion(sw, scriptname, funcname, support_debug, ...@@ -526,12 +526,13 @@ def WriteCompletion(sw, scriptname, funcname, support_debug,
@param commands: List of all subcommands in this program @param commands: List of all subcommands in this program
""" """
sw.Write("%s_inner() {", funcname) sw.Write("%s() {", funcname)
sw.IncIndent() sw.IncIndent()
try: try:
sw.Write("local i first_arg_idx choices compgenargs arg_idx optcur" sw.Write("local "
' cur="${COMP_WORDS[COMP_CWORD]}"' ' cur="${COMP_WORDS[COMP_CWORD]}"'
' prev="${COMP_WORDS[COMP_CWORD-1]}"') ' prev="${COMP_WORDS[COMP_CWORD-1]}"'
' i first_arg_idx choices compgenargs arg_idx optcur')
if support_debug: if support_debug:
sw.Write("_gnt_log cur=\"$cur\" prev=\"$prev\"") sw.Write("_gnt_log cur=\"$cur\" prev=\"$prev\"")
...@@ -581,25 +582,6 @@ def WriteCompletion(sw, scriptname, funcname, support_debug, ...@@ -581,25 +582,6 @@ def WriteCompletion(sw, scriptname, funcname, support_debug,
sw.DecIndent() sw.DecIndent()
sw.Write("}") sw.Write("}")
# Wrapper function to always enable extglob (needed for advanced pattern
# matching)
sw.Write("%s() {", funcname)
sw.IncIndent()
try:
# Get current state of extglob
sw.Write("local -r eg=$(shopt -p extglob || :)")
# Enable extglob
sw.Write("shopt -s extglob")
sw.Write("%s_inner \"$@\"", funcname)
# Reset extglob to original value
sw.Write("[[ -n \"$eg\" ]] && $eg")
finally:
sw.DecIndent()
sw.Write("}")
sw.Write("complete -F %s -o filenames %s", sw.Write("complete -F %s -o filenames %s",
utils.ShellQuote(funcname), utils.ShellQuote(funcname),
utils.ShellQuote(scriptname)) utils.ShellQuote(scriptname))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment