diff options
Diffstat (limited to 'Completion/Unix')
-rw-r--r-- | Completion/Unix/Type/_path_files | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files index 85feae54c..ed3f54de3 100644 --- a/Completion/Unix/Type/_path_files +++ b/Completion/Unix/Type/_path_files @@ -15,13 +15,21 @@ local -a match mbegin mend # a bare glob qualifier. # The later test looks for an outstanding quote. if _have_glob_qual $PREFIX; then - compset -p ${#match[1]} - if [[ $_comp_caller_options[extendedglob] == on ]] && compset -P '\#'; then - _globflags - else - _globquals - fi - return + local ret=1 + compset -p ${#match[1]} + if [[ $_comp_caller_options[extendedglob] == on ]] && compset -P '\#'; then + _globflags && ret=0 + else + if [[ $_comp_caller_options[extendedglob] == on ]]; then + local -a flags + flags=( + '#:introduce glob flag' + ) + _describe -t globflags "glob flag" flags -Q -S '' && ret=0 + fi + _globquals && ret=0 + fi + return ret fi # Utility function for in-path completion. This allows `/u/l/b<TAB>' |