mpv/etc
Philip Sequeira 2712db8238 zsh completion: move generation to runtime and improve
The completion function itself now parses --list-options on the first
tab press and caches the results. This does mean a slight delay on that
first tab press, but it will only do this if the argument being
completed looks like an option (i.e. starts with "-"), so there is never
a delay when just completing a file name. I've also put some effort into
making it reasonably fast; on my machine it's consistently under 100 ms,
more than half of which is mpv itself.

Installation of zsh completion is now done unconditionally because it's
nothing more than copying a file. If you really don't want it installed,
set zshdir to empty: `./waf configure --zshdir= ...`

Improvements in functionality compared to the old script:

 * Produces the right results for mpv binaries other than the one it was
   installed with (like a dev build for testing changes).

 * Does not require running mpv at build time, so it won't cause
   problems with cross compilation.

 * Handles aliases.

 * Slightly nicer handling of options that take comma-separated values
   and/or sub-options: A space is now inserted at the end instead of a
   comma, allowing you to immediately start typing the next argument,
   but typing a comma will still remove the automatically added space,
   and = and : will now do that too, so you can immediately add a
   sub-option.

 * More general/flexible handling of values for options that print their
   possible values with --option=help. The code as is could handle quite
   a few more options (*scale, demuxers, decoders, ...), but nobody
   wants to maintain that list here so we'll just stick with what the
   old completion script already did.
2019-09-27 13:19:29 +02:00
..
_mpv.zsh zsh completion: move generation to runtime and improve 2019-09-27 13:19:29 +02:00
builtin.conf builtin.conf: add clarifications 2019-09-19 20:37:05 +02:00
encoding-profiles.conf encode: remove removed encode options from presets 2018-05-03 01:09:46 +03:00
input.conf screenshot: change async behavior to be in line with new semantics 2018-05-24 19:56:34 +02:00
mplayer-input.conf Use - as command-name separator everywhere 2016-07-14 22:37:42 +02:00
mpv-gradient.svg SVG version of the icon (with symbolic counterpart) 2015-10-30 20:29:55 +01:00
mpv-icon-8bit-16x16.png x11: add window icon 2013-09-01 23:27:33 +02:00
mpv-icon-8bit-32x32.png x11: add window icon 2013-09-01 23:27:33 +02:00
mpv-icon-8bit-64x64.png x11: add window icon 2013-09-01 23:27:33 +02:00
mpv-icon-8bit-128x128.png x11: add 128x128 sized icon support 2017-07-02 13:07:36 +02:00
mpv-icon.ico change application icon 2013-09-01 12:24:53 +02:00
mpv-symbolic.svg SVG version of the icon (with symbolic counterpart) 2015-10-30 20:29:55 +01:00
mpv.conf docs: add removed properties and options to interface-changes.rst 2018-12-06 19:14:14 +01:00
mpv.desktop mpv.desktop: fix French translation consistency 2018-03-18 23:01:53 +00:00
mpv.svg SVG version of the icon (with symbolic counterpart) 2015-10-30 20:29:55 +01:00
restore-old-bindings.conf restore-old-bindings.conf: add old macOS/Wayland AXIS bindings 2017-10-16 22:51:12 +11:00