zsh-workers
 help / color / mirror / code / Atom feed
* completion function for Ruby and exclusion list problem.
@ 2001-06-01  5:30 Tanaka Akira
  2001-06-01  8:51 ` Sven Wischnowsky
  0 siblings, 1 reply; 2+ messages in thread
From: Tanaka Akira @ 2001-06-01  5:30 UTC (permalink / raw)
  To: zsh-workers

I wrote a completion function for Ruby - scripting language like Perl
or Python.

It almost works, but I found a problem with exclusion list.

Z(3):akr@flux% Src/zsh -f
flux% fpath=(Completion Completion/**/*(/)); bindkey -e; autoload -U compinit; compinit -D
flux% zstyle '*' group-name ''
flux% zstyle '*:messages' format '%d'
flux% zstyle '*:descriptions' format '%d'
flux% compdef _tst tst
flux% _tst () {
function> _arguments '(1)-x' ':a:' ':b:'
function> }
flux% tst -x <TAB>
a

I think it should show `b' instead of `a' because non-option first
argument is excluded by `-x'.

Index: Completion/Unix/Command/_ruby
===================================================================
RCS file: _ruby
diff -N _ruby
--- /dev/null	Thu May 24 22:33:05 2001
+++ _ruby	Thu May 31 22:22:07 2001
@@ -0,0 +1,49 @@
+#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]' \
+  '-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]' \
+  '-l[automatic line-ending processing]' \
+  '-p[loop and print]' \
+  '-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' \
+  '-S[search ruby script in PATH]' \
+  '(--verbose)-v[verbose mode]' \
+  '(-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
+
+case $state in
+  library)
+    dirs=($(_call_program directories $words[1] -e 'print\ \$:.join\(\"\\n\"\)'))
+    _wanted directories expl library \
+      _path_files -W dirs
+  ;;
+esac
+  
-- 
Tanaka Akira


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-06-01  8:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-01  5:30 completion function for Ruby and exclusion list problem Tanaka Akira
2001-06-01  8:51 ` Sven Wischnowsky

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).