Skip to content

Plugin that generates completion functions automatically from getopt-style help texts

License

Notifications You must be signed in to change notification settings

RobSis/zsh-completion-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zsh-completion-generator

Plugin that generates completion functions automatically from getopt-style help texts.

Motivation

Writing completion functions is boring, plus they can break when the software updates the CLI. This plugin tries to parse the help text of the given commands and generate a completion function automatically.

It's a best-effort service, not guaranteed to work in all cases. Completion functions which are already present (and most likely better) are not overridden by this plugin.

How to install

Using antigen

After installing antigen put antigen bundle RobSis/zsh-completion-generator into your .zshrc.

Using Fig

Fig adds apps, shortcuts, and autocomplete to your existing terminal.

Install zsh-completion-generator in just one click.

Manually

  • Download the script or clone this repository:

    $ cd ~/.zsh/

    $ git clone git://github.com/RobSis/zsh-completion-generator.git

  • Source the script before compinit in your ~/.zshrc:

    source $HOME/.zsh/zsh-completion-generator/zsh-completion-generator.plugin.zsh

    ...

    compinit

Custom zsh completion folder

If you want to use a different folder than the default one for completion files, you can export the GENCOMPL_FPATH variable before sourcing the plugin :

$ GENCOMPL_FPATH=$HOME/.zsh/complete
$ source $HOME/.zsh/zsh-completion-generator/zsh-completion-generator.plugin.zsh

Custom python version

If you want to use a specific Python interpreter name, you can export the GENCOMPL_PY variable before sourcing the plugin :

$ GENCOMPL_PY=python2
$ source $HOME/.zsh/zsh-completion-generator/zsh-completion-generator.plugin.zsh

How to use

Provide default program list by (example):

zstyle :plugin:zsh-completion-generator programs   ggrep tr cat

The plugin will create completions for those programs at load time, once. You can also generate completions from the shell, by using provided gencomp function:

$ gencomp ggrep
$ source ~/.zshrc # or run `compinit'
$ ggrep -*[TAB]* -> magic

Licence

GNU GPLv2

About

Plugin that generates completion functions automatically from getopt-style help texts

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published