mpv/TOOLS
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
..
lua video: add vf_fingerprint and a skip-logo script 2019-09-19 20:37:05 +02:00
mpv-osd-symbols.sfdir osd-font: make volume muted glyph slightly thicker 2017-04-22 18:03:16 +01:00
osxbundle/mpv.app/Contents osx: fix bundle on macOS High Sierra (10.13) 2017-10-03 11:30:56 +02:00
__init__.py build: use matroska.py & file2string.py as python modules 2017-01-05 11:25:18 +01:00
appveyor-build.sh appveyor: remove broken packages, install libplacebo 2019-07-03 17:30:50 +03:00
appveyor-install.sh appveyor: remove broken packages, install libplacebo 2019-07-03 17:30:50 +03:00
dylib-unhell.py osxbundle: remove rpath definitions towards dev tools 2019-09-22 17:07:51 +03:00
file2string.py TOOLS: change license of some scripts involved in build to LGPL 2017-06-24 10:08:33 +02:00
gen-osd-font.sh Add script to generate otf from sfdir using fontforge 2017-04-20 17:40:45 +01:00
idet.sh Use setfield, not --field-dominance. See #2297. 2015-09-09 02:57:44 +02:00
matroska.py TOOLS/matroska.py: ignore some unused elements 2018-04-29 02:21:32 +03:00
mpv_identify.sh mpv_identify: replace deprecated fps property 2017-06-25 14:24:49 +01:00
osxbundle.py osxbundle: print the output of the dylib-unhell call 2019-07-21 18:13:07 +03:00
stats-conv.py TOOLS/stats-conv.py: use different colors for symbols too 2016-10-06 19:42:18 +02:00
travis-deps travis: stop excluding ffmpeg-git 2017-12-22 21:49:21 +01:00
travis-rebuild-website TOOLS/travis-rebuild-website: update condition after docker transition 2019-07-30 20:12:33 +01:00
umpv TOOLS/umpv: fix typo in docstring 2015-04-17 13:37:47 +02:00
uncrustify.cfg uncrustify: add some instructions 2013-05-12 21:24:55 +02:00