Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: improved ruby completion



Some improvements to the ruby completion function.

Regards,
Doug

Index: Completion/Unix/Command/_ruby
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_ruby,v
retrieving revision 1.1
diff -u -r1.1 _ruby
--- Completion/Unix/Command/_ruby	1 Jun 2001 05:37:03 -0000	1.1
+++ Completion/Unix/Command/_ruby	28 Feb 2003 00:20:00 -0000
@@ -1,49 +1,45 @@
 #compdef ruby
 
-# completion function for Ruby.
 # http://www.ruby-lang.org/
 
 local expl curcontext="$curcontext" line state
 typeset -A opt_args
 local dirs
 
-_arguments -C -s \
-  '--version[print version]' \
+_arguments -C -s -S \
+  '(1 * -)--version[print version]' \
   '-c[syntax check]' \
   '-w[verbose mode without printing version message at the beginning]' \
-  '(-d)--debug[debug mode]' \
-  '(--debug)-d[debug mode]' \
-  '(-h)--help[print help message]' \
-  '(--help)-h[print help message]' \
+  '(-d --debug)'{-d,--debug}'[debug mode]' \
+  '(1 * -)'{-h,--help}'[print help message]' \
   '-l[automatic line-ending processing]' \
-  '-p[loop and print]' \
-  '-n[loop]' \
+  '(-n)-p[loop and print]' \
+  '(-p)-n[loop]' \
   '-a[auto-split mode]' \
   '-s[switch parsing]' \
   '-0-[input record separator]:input record separator in octal:' \
   '-K-[specifies KANJI (Japanese) encoding]:KANJI encoding:((e\:EUC-JP s\:Shift_JIS u\:UTF-8 N\:None))' \
   '-F-[input field separator]:input field separator:' \
   '-i-[in-place-edit mode]:suffix for in-place-edit mode:(.bak)' \
-  '-I+[library directory]:library directory:_files -/' \
-  '-r+[require library]:library name:->library' \
+  '*-I+[library directory]:library directory:_files -/' \
+  '*-r+[require library]:library name:->library' \
   '-S[search ruby script in PATH]' \
-  '(--verbose)-v[verbose mode]' \
-  '(-v)--verbose[verbose mode]' \
+  '(-v --verbose)'{-v,--verbose}'[verbose mode]' \
   '-x-[embedded script]:directory:_files -/' \
   '-C+[chdir]:directory:_files -/' \
-  '(--yydebug)-y[compiler debug mode]' \
-  '(-y)--yydebug[compiler debug mode]' \
-  '--copyright[copyright notice]' \
-  '-T-[taint check]:taint level:' \
-  '(1)-e+[ruby command]:ruby command:' \
-  ':script file:_files' \
-  ':script argument:_files' && return 0
+  '(-y --yydebug)'{-y,--yydebug}'[compiler debug mode]' \
+  '(1 * -)--copyright[copyright notice]' \
+  '-T-[taint check]:taint level:({0..4})' \
+  '(1)*-e+[ruby command]:ruby command:' \
+  '(-)1:script file:_files -g \*.rb' \
+  '*:script argument:_files' && return 0
 
 case $state in
   library)
     dirs=($(_call_program directories $words[1] -e 'print\ \$:.join\(\"\\n\"\)'))
     _wanted directories expl library \
-      _path_files -W dirs
+      _path_files -W dirs && return 0
   ;;
 esac
-  
+
+return 1



Messages sorted by: Reverse Date, Date, Thread, Author