diff options
Diffstat (limited to 'etc/_mpv.zsh')
-rw-r--r-- | etc/_mpv.zsh | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/etc/_mpv.zsh b/etc/_mpv.zsh index 400e34a0f6..5c2bbf97d6 100644 --- a/etc/_mpv.zsh +++ b/etc/_mpv.zsh @@ -192,6 +192,7 @@ case $state in parse-help-*) local option_name=${state#parse-help-} + local no_config="--no-config" # Can't do non-capturing groups without pcre, so we index the ones we want local pattern name_group=1 desc_group=2 case $option_name in @@ -203,6 +204,8 @@ case $state in # but would break if a profile name contained spaces. This stricter one # only breaks if a profile name contains tabs. pattern=$'^\t([^\t]*)\t(.*)' + # We actually want config so we can autocomplete the user's profiles + no_config="" ;; *) pattern=$'^[ \t]+(--'${option_name}$'=)?([^ \t]+)[ \t]*[-:]?[ \t]*(.*)' @@ -211,7 +214,7 @@ case $state in esac local -a values local current - for current in "${(@f)$($~words[1] --no-config --${option_name}=help)}"; do + for current in "${(@f)$($~words[1] ${no_config} --${option_name}=help)}"; do [[ $current =~ $pattern ]] || continue; local name=${match[name_group]//:/\\:} desc=${match[desc_group]} if [[ -n $desc ]]; then |