PATCH: singleton class definitions without whitespace
Doug Kearns
djkea2 at mugca.its.monash.edu.au
Fri Sep 19 22:30:31 EDT 2003
This allows singleton class definitions without whitespace between
'class' and '<<' to match.
eg. class<<foobar
end
This is mostly a temporary fix, mostly...
Regards,
Doug
Index: syntax/ruby.vim
===================================================================
RCS file: /var/cvs/vim-ruby/vim-ruby/syntax/ruby.vim,v
retrieving revision 1.24
diff -u -r1.24 ruby.vim
--- syntax/ruby.vim 18 Sep 2003 15:13:56 -0000 1.24
+++ syntax/ruby.vim 19 Sep 2003 11:41:33 -0000
@@ -111,11 +111,12 @@
if !exists("ruby_no_expensive")
syn region rubyFunction matchgroup=rubyDefine start="\<def\s\+" end="\ze\%(\s\|(\|;\|$\)" oneline
syn region rubyClass matchgroup=rubyDefine start="\<class\s\+" end="\ze\%(\s\|<\|;\|$\)" oneline
+ syn match rubyDefine "\<class\ze<<"
syn region rubyModule matchgroup=rubyDefine start="\<module\s\+" end="\ze\%(\s\|;\|$\)" oneline
- syn region rubyBlock start="\<def\>" matchgroup=rubyDefine end="\%(^\|;\)\s*\zs\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo nextgroup=rubyFunction fold
- syn region rubyBlock start="\<class\>" matchgroup=rubyDefine end="\%(^\|;\)\s*\zs\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo nextgroup=rubyClass fold
- syn region rubyBlock start="\<module\>" matchgroup=rubyDefine end="\%(^\|;\)\s*\zs\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo nextgroup=rubyModule fold
+ syn region rubyBlock start="\<def\>" matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo nextgroup=rubyFunction fold
+ syn region rubyBlock start="\<class\>" matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo nextgroup=rubyClass fold
+ syn region rubyBlock start="\<module\>" matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo nextgroup=rubyModule fold
" modifiers
syn match rubyControl "\<\%(if\|unless\|while\|until\)\>" display
@@ -143,6 +144,7 @@
else
syn region rubyFunction matchgroup=rubyControl start="\<def\s\+" end="\ze\%(\s\|(\|;\|$\)" oneline
syn region rubyClass matchgroup=rubyControl start="\<class\s\+" end="\ze\%(\s\|<\|;\|$\)" oneline
+ syn match rubyControl "\<class\ze<<"
syn region rubyModule matchgroup=rubyControl start="\<module\s\+" end="\ze\%(\s\|;\|$\)" oneline
syn keyword rubyControl case begin do for if unless while until end
endif
More information about the vim-ruby-devel
mailing list