Commit Graph

17 Commits

Author SHA1 Message Date
Haim Ashkenazi e2c45ac9eb Started working on Unified API for the various shell completions:
- Moved some general function to a more generic shell_completions file.
- Added functions to mark flag as directory completion.
- Started making the global functions docs more generic (not bash
  specific) and added compatibility matrix.
2019-06-07 10:09:50 -04:00
Haim Ashkenazi edbb6712e2 zsh-completions: implemented argument completion. 2019-06-07 10:09:50 -04:00
Haim Ashkenazi d262154093 zsh-completion: tidy up function and variable names
There are many files in the package, renamed all zsh-completion
related names to convey that.
2019-06-07 10:09:50 -04:00
Haim Ashkenazi 8822449c0f zsh-completion: added escapinng of single quotes in flag description. 2019-06-07 10:09:50 -04:00
Haim Ashkenazi 7ce08e227e zsh-completion: completion should always parse the root command!
It was running on the command it was invoked from which caused some
additional helpers (--help, --version) not to be generated.
2019-06-07 10:09:50 -04:00
Haim Ashkenazi 50f385938e zsh-completion: added support for filename globbing. 2019-06-07 10:09:50 -04:00
Haim Ashkenazi 461a39d5b9 zsh-completion: removed forgotten function. 2019-06-07 10:09:50 -04:00
Haim Ashkenazi df12a0a249 zsh-completion: two fixes for identifying flag usage:
Fixed after input from @eparis:
- Decide on option parameter by checking NoOptDefVal
- Slices also could be specified multiple times.
2019-06-07 10:09:50 -04:00
Haim Ashkenazi ec4b8c974c zsh-completions: revised flags completion rendering + new features:
- If the flags are not bool the completion expects argument.
- You don't have to specify file extensions for file completion to
  work.
- Allow multiple occurrences of flag if type is stringArray.

Need to verify that these assumption are correct :)
2019-06-07 10:09:50 -04:00
Haim Ashkenazi e8018e8612 zsh-completion template refactoring:
- removed redundant function
- improved other functions :)
- better names for other functions
2019-06-07 10:09:50 -04:00
Haim Ashkenazi 2662787697 zsh-completion: added support for subcommand description.
Also make the template more elegant on the way...
2019-06-07 10:09:50 -04:00
Haim Ashkenazi f0508c8e76 zsh-completion ignores hidden commands and flags :) 2019-06-07 10:09:50 -04:00
Haim Ashkenazi a15d099018 zsh-completion fixed reference to cmd name
cmd.Use is not the command name :). Found it once I figured out
that I need to execute the command in order to fully test the
generated completion.
2019-06-07 10:09:50 -04:00
Haim Ashkenazi 7e2436b79d First try at better zsh completions:
A very basic POC. Need to refactor to generate completion
structure before passing to the template to avoid repeated
computations.

What works:
  * Real zsh completion (not built on bash)
  * Basic flags (with long flag and optional shorthand)
  * Basic filename completion indication (not with file extensions though)

What's missing:
  * File extensions to filename completions
  * Positional args
  * Do we require handling only short flags?
2019-06-07 10:09:50 -04:00
Eric Paris b787445794 Use func (c *Command) consistently ()
It makes the docs looks better. The idea was suggested by @SamWhited
2017-09-05 13:20:51 -04:00
agmen 4de692c1eb adding a GenZshCompletionFile function to mirror bash_completion () 2017-09-05 12:32:32 -04:00
bpicode d7ba19510d Add basic zsh completion (command hierarchy only)
Partially fixes 
See PR 
2017-07-30 02:44:28 -06:00