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,
@param commands: List of all subcommands in this program
"""
sw.Write("%s_inner() {", funcname)
sw.Write("%s() {", funcname)
sw.IncIndent()
try:
sw.Write("local i first_arg_idx choices compgenargs arg_idx optcur"
sw.Write("local "
' 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:
sw.Write("_gnt_log cur=\"$cur\" prev=\"$prev\"")
......@@ -581,25 +582,6 @@ def WriteCompletion(sw, scriptname, funcname, support_debug,
sw.DecIndent()
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",
utils.ShellQuote(funcname),
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