diff options
author | Philip Langdale <philipl@overt.org> | 2023-09-02 16:00:34 -0700 |
---|---|---|
committer | Niklas Haas <github-daiK1o@haasn.dev> | 2023-09-03 13:44:31 +0200 |
commit | a1c8bb2257c40bf2c69daea26cc6b10fde1a258d (patch) | |
tree | 9b25464b12aa049e37b2c63b4b75a6c22d2d7f78 /etc/_mpv.zsh | |
parent | f3df6f53bafd8eab864153290655dce102158aad (diff) | |
download | mpv-a1c8bb2257c40bf2c69daea26cc6b10fde1a258d.tar.bz2 mpv-a1c8bb2257c40bf2c69daea26cc6b10fde1a258d.tar.xz |
{zsh,bash}-completion: use config when autocompleting profiles
We were over-enthusiastic when introducing --no-config into the
autocompletions. When autocompleting profiles, you actually need the
config, because that's where the profiles come from.
zsh is untested - I don't use it.
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 |