diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-19 12:07:09 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-19 12:07:09 +0000 |
commit | 91c0ff4f7d28856645b72d09f58dbabfa5e862ad (patch) | |
tree | 3df4b21c3dd67b8969019c7dd190bddc142cb11a /misc | |
parent | 67f3280cfe75391f97bb342da10186fa190373b2 (diff) |
* lib/optparse.rb: shell completion support for zsh. based on
<http://d.hatena.ne.jp/rubikitch/20071002/zshcomplete>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'misc')
-rw-r--r-- | misc/rb_optparse.zsh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/misc/rb_optparse.zsh b/misc/rb_optparse.zsh new file mode 100644 index 0000000000..2aff063744 --- /dev/null +++ b/misc/rb_optparse.zsh @@ -0,0 +1,30 @@ +#!/bin/zsh +# Completion for zsh: +# (based on <http://d.hatena.ne.jp/rubikitch/20071002/zshcomplete>) +# +# (1) install this file, +# +# (2) load the script, and +# . ~/.zsh.d/rb_optparse.zsh +# +# (3) geneate completion files once. +# generate-complete-function/ruby/optparse COMMAND1 +# generate-complete-function/ruby/optparse COMMAND2 +# + +generate-complete-function/ruby/optparse () +{ + local cmpl="_${1:t}" + mkdir -p "${ZSH_COMPLETION_DIR-$HOME/.zsh.d/Completion}" + $1 --help=zshcomplete="${1:t}" > "${ZSH_COMPLETION_DIR-$HOME/.zsh.d/Completion}/$comp" + if [[ $(type -w "$cmpl") == "${cmpl}: function" ]]; then + unfunction "$cmpl" + autoload -U "$cmpl}" + else + compinit "$cmpl" + fi +} + +for cmd in "$@"; do + generate-complete-function/ruby/optparse "$cmd" +done |