summaryrefslogtreecommitdiffstats
path: root/etc/_mpv.zsh
diff options
context:
space:
mode:
authorPhilip Langdale <philipl@overt.org>2023-09-02 16:00:34 -0700
committerNiklas Haas <github-daiK1o@haasn.dev>2023-09-03 13:44:31 +0200
commita1c8bb2257c40bf2c69daea26cc6b10fde1a258d (patch)
tree9b25464b12aa049e37b2c63b4b75a6c22d2d7f78 /etc/_mpv.zsh
parentf3df6f53bafd8eab864153290655dce102158aad (diff)
downloadmpv-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.zsh5
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