Import completion updates from tmux.git, the revision used was
c67abcf8182b, and the updates were generated by Util/check-tmux-state.
check-tmux-state: changes to output parsing + variable declaration
parsing of `tmux show-options` is slightly more idiomatic (thanks to
@phy1729 for the syntax), and it now also ignores user-specified options
(which are prefixed with an @ symbol).
the lines defining and declaring supported_server_options were also
swapped to the correct order - `typeset` was being called after
supported_server_options was populated, contrary to all the other
supported_*/available_* arrays used in the same area of the file.
The StGit project ships its own zsh completion script which is more
complete and up-to-date than those shipped with zsh.
https://github.com/stacked-git/stgit/blob/master/completion/stgit.zsh
Also, the _stgit completions that ship with zsh, which dynamically parse
StGit's help output, will be broken by the upcoming StGit 2.0 release
due to changes in the help output.
Signed-off-by: Peter Grayson <pete@jpgrayson.net>
be in the 1st argument.
This probably shouldn't complete ranges but all other code is in common,
so leaving it to someone more familiar with _git to clean up.
Use 'make -nqp' to ensure nothing is actually built by completion.
Also include some performance improvements, but it can be still
rather slow in a large project's source tree.
* -exec and -execdir can take ; or + as an ending marker. Previously only ; was
supported. This is part of POSIX for -exec (support for + for -ok is optional
and none of the implementations I looked at seem to support that).
* Missing completion for -files0-from (GNU find 4.9.0 and later). This flag
needs to go with the global flags at the beginning and load the paths from
the given file instead of from the command line.
* Missing completion for the -newerXY family of flags (GNU find 4.3.3, also
available in FreeBSD and MacOS at least).
* Correct -v to -V
* Make -u argument optional
* Enable option stacking
* Improve descriptions
* Fix broken sort keys with htop 3.x and add new key descriptions
* Remove _sequence limit on -p
* Add several missing options
+ Fixed a typo and an erroneous comment in the original patch
Thanks to GitHub user xpufx, whose work formed the initial basis of this
change (see zsh-users/zsh pull #89)
* Adjust the pattern for matching tasks. The old one was too strict,
causing it to filter out perfectly valid tasks.
* Add completion of subproject names.
* Prevent subproject tasks from overwriting the main task description.
* Require `:` prefix for showing subprojects.
* Require a subproject prefix before showing subproject tasks.
* Standardize the use of completion tags.
* Rebuild the cache if it can't be read or doesn't contain the required
arrays.
This had been broken all along for the actual util-linux getopt; i think the
'enhanced' text comes from the original author's version, which Homebrew was
still using when the function was written
* _svn_deletedfiles: Remove.
The last version of svn(1) under which that function could possibly
complete anything, svn 1.6.x, was EOLed in 2013. Newer versions
don't have a "text-base" directory, so $controlled is set to an
empty array, so this function returned false for all files, so
in 'svn rm' (up to the previous commit) all files were completed
(because that's what '_files -g "*(e:false:)"' does).
* _svn_status: Remove.
Versions of svn newer than the aforementioned 1.6.x have an
entries file but never modify it, so the "mtime has changed" check
would false negative. Therefore, sequences such as:
.
svn <TAB>
echo >> some/versioned/file
svn ci <TAB>
.
wouldn't offer some/versioned/file.
.
Furthermore, completion would offer directories with no changed
files in them, and even unversioned directories. Now only changed
files/directories are offered.
* _cache_svn_status, _cache_svn_mtime: Remove.
If these hadn't been removed, I would have moved their declarations
to file scope so _svn_status could be used from outside this file,
too.
The replacement function, _svn_modified, doesn't have cache support, but
does honour the 'verbose' style to inhibit recursion to subdirectories.