No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 740fce7 Sep 28, 2015
Failed to load latest commit information.
LICENSE add MIT license Sep 28, 2015
capture.zsh be more tolerant in initialization routine Dec 1, 2013 update method description in readme Feb 12, 2014


This is a proof of concept script for capturing completion matches generated by the zshcompsys completion system. Because of the very complicated nature of zsh's completions, this can (to my knowledge) not be done in a straightforward way, and this script is accordingly hacky.


Roughly, a pseudo-interactive zsh session is spawned using zpty, and a buffer string plus a tab character is sent so the complete-word widget is executed. To capture the hits, the compadd function is selectivly overridden in an inline-sourced file, capturing matches by injecting a parameter to the original compadd call and outputting matches to stdout.



capture.zsh bufferstring


capture.zsh 'vim -'
capture.zsh 'vim --'
capture.zsh 'vim --r'
capture.zsh 'echo *('
capture.zsh 'scp hostname:'

For an application of ths technique, check out vim-zsh-completion.