diff options
author | Doug Kearns <dkearns@users.sourceforge.net> | 2005-07-03 10:56:41 +0000 |
---|---|---|
committer | Doug Kearns <dkearns@users.sourceforge.net> | 2005-07-03 10:56:41 +0000 |
commit | 198bd8f9e61b0a763f8a4da9dc517fecf262efe8 (patch) | |
tree | 25dbe04b38a41407697ecf549aa11a23ed46f3f9 | |
parent | ce16f6390668f23dfcb4c68f58358a3ad448b96c (diff) | |
download | zsh-198bd8f9e61b0a763f8a4da9dc517fecf262efe8.tar.gz zsh-198bd8f9e61b0a763f8a4da9dc517fecf262efe8.tar.xz zsh-198bd8f9e61b0a763f8a4da9dc517fecf262efe8.zip |
21400: add completion for RUBYOPT, RUBYLIB and RUBYPATH env variables
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Unix/Command/_ruby | 33 |
2 files changed, 30 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index 2d026bb74..541478832 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-07-03 Doug Kearns <djkea2@gus.gscit.monash.edu.au> + + * 21400: Completion/Unix/Command/_ruby: add completion for RUBYOPT, + RUBYLIB and RUBYPATH env variables + 2005-06-30 Doug Kearns <djkea2@gus.gscit.monash.edu.au> * unposted: Completion/Unix/Command/_links: declare parameter vals diff --git a/Completion/Unix/Command/_ruby b/Completion/Unix/Command/_ruby index 500dadbfd..d0f3c3eb0 100644 --- a/Completion/Unix/Command/_ruby +++ b/Completion/Unix/Command/_ruby @@ -1,13 +1,30 @@ -#compdef ruby +#compdef ruby -P -value-,RUBY(LIB|OPT|PATH),-default- # ruby 1.8.0 (2003-08-14) [i686-linux] -local expl curcontext="$curcontext" line state ret=1 +local curcontext="$curcontext" state line expl ret=1 typeset -A opt_args -local dirs + +local -a args +args=( + '(-)1:script file:->script' + '*::script argument: _normal' +) + +case "$service" in + *RUBY(LIB|PATH)*) + _dir_list && return 0 + ;; + *RUBYOPT*) + compset -q + words=( fake "$words[@]" ) + (( CURRENT++ )) + args=() + ;; +esac _arguments -C -s -S \ - '-0-[specify record separator]:input record separator in octal (default\: \0):' \ + '-0-[specify record separator]:input record separator in octal (default \0):' \ '-a[autosplit mode with -n or -p (splits $_ into $F)]' \ '-c[check syntax only]' \ '-C+[cd to directory, before executing your script]:directory:_files -/' \ @@ -23,20 +40,20 @@ _arguments -C -s -S \ '*-r+[require the library, before executing your script]:library name:->library' \ '-s[enable some switch parsing for switches after script name]' \ '-S[look for the script using PATH environment variable]' \ - '-T-[turn on tainting checks]:taint level (default\: 0):((0\:strings\ from\ streams/environment/ARGV\ are\ tainted 1\:no\ dangerous\ operation\ by\ tainted\ value 2\:process/file\ operations\ prohibited 3\:all\ generated\ objects\ are\ tainted 4\:no\ global\ \(non-tainted\)\ variable\ modification/no\ direct\ output))' \ + '-T-[turn on tainting checks]:taint level (default 0):((0\:strings\ from\ streams/environment/ARGV\ are\ tainted 1\:no\ dangerous\ operation\ by\ tainted\ value 2\:process/file\ operations\ prohibited 3\:all\ generated\ objects\ are\ tainted 4\:no\ global\ \(non-tainted\)\ variable\ modification/no\ direct\ output))' \ '(-v --verbose)'{-v,--verbose}'[print version number, then turn on verbose mode]' \ '-w[turn warnings on for your script]' \ - '-W-[set warning level]:warning level (default\: 2):((0\:silent 1\:medium 2\:verbose))' \ + '-W-[set warning level]:warning level (default 2):((0\:silent 1\:medium 2\:verbose))' \ '(-y --yydebug)'{-y,--yydebug}'[enable yacc debugging in the parser]' \ '-x-[strip off text before #!ruby line and perhaps cd to directory]:directory:_files -/' \ '(1 * -)--copyright[print the copyright]' \ '(1 * -)'{-h,--help}'[print help message]' \ '(1 * -)--version[print the version]' \ - '(-)1:script file:_files -g "*.rb(-.)"' \ - '*:script argument:_files' && ret=0 + "$args[@]" && ret=0 case $state in library) + local -a dirs dirs=($(_call_program directories $words[1] -e 'puts\ \$:')) _wanted directories expl library _path_files -W dirs && ret=0 ;; |