PATCH: eRuby highlighting improvements
Doug Kearns
dougkearns at gmail.com
Thu Sep 1 11:24:30 EDT 2005
This adds some general improvements to the eRuby highlighting.
The highlighting of the more complex files seems to suffer from a rather
nasty 'rainbow' effect. Should we consider something like using a
different background colour for the eRuby blocks?
Regards,
Doug
Index: syntax/eruby.vim
===================================================================
RCS file: /var/cvs/vim-ruby/vim-ruby/syntax/eruby.vim,v
retrieving revision 1.3
diff -u -b -r1.3 eruby.vim
--- syntax/eruby.vim 1 Sep 2005 10:55:59 -0000 1.3
+++ syntax/eruby.vim 1 Sep 2005 15:16:24 -0000
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: eRuby
" Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
-" Info: $Id: eruby.vim,v 1.3 2005/09/01 10:55:59 dkearns Exp $
+" Info: $Id$
" URL: http://vim-ruby.sourceforge.net
" Anon CVS: See above site
" Licence: GPL (http://www.gnu.org)
@@ -10,7 +10,6 @@
" but WITHOUT ANY WARRANTY; without even the implied warranty of
" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
" GNU General Public License for more details.
-" ----------------------------------------------------------------------------
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -33,9 +32,10 @@
syn include @rubyTop syntax/ruby.vim
endif
-syn region erubyOneLiner matchgroup=erubyDelimiter start="^%" end="$" contains=@rubyTop,erubyDelimiter keepend oneline
-syn region erubyBlock matchgroup=erubyDelimiter start="<%=\=" end="%>" contains=@rubyTop containedin=ALLBUT,erubyComment keepend
-syn region erubyComment matchgroup=erubyDelimiter start="<%#" end="%>" keepend
+syn region erubyOneLiner matchgroup=erubyDelimiter start="^%" end="$" contains=@rubyTop containedin=ALLBUT,erubyBlock,erubyComment,erubyExpression keepend oneline
+syn region erubyBlock matchgroup=erubyDelimiter start="<%" end="%>" contains=@rubyTop containedin=ALLBUT,erubyBlock,erubyComment,erubyExpression
+syn region erubyExpression matchgroup=erubyDelimiter start="<%=" end="%>" contains=@rubyTop containedin=ALLBUT,erubyComment,erubyExpression
+syn region erubyComment matchgroup=erubyDelimiter start="<%#" end="%>" contains=rubyTodo, at Spell containedin=ALLBUT,erubyBlock,erubyComment,erubyExpression keepend
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
Index: syntax/ruby.vim
===================================================================
RCS file: /var/cvs/vim-ruby/vim-ruby/syntax/ruby.vim,v
retrieving revision 1.68
diff -u -b -r1.68 ruby.vim
--- syntax/ruby.vim 30 Aug 2005 10:54:04 -0000 1.68
+++ syntax/ruby.vim 1 Sep 2005 15:16:27 -0000
@@ -138,6 +138,10 @@
syn region rubyString start=+\%(\%(class\s*\|\%(\.\|::\)\)\_s*\)\@<!<<-'\z([^']*\)'\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart nextgroup=rubyFunction fold keepend
syn region rubyString start=+\%(\%(class\s*\|\%(\.\|::\)\)\_s*\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart, at rubyStringSpecial nextgroup=rubyFunction fold keepend
+if exists('main_syntax') && main_syntax == 'eruby'
+ let ruby_no_expensive = 1
+end
+
" Expensive Mode - colorize *end* according to opening statement
if !exists("ruby_no_expensive")
syn region rubyFunction matchgroup=rubyDefine start="\<def\s\+" end="\ze\%(\s\|(\|;\|$\)" oneline
More information about the vim-ruby-devel
mailing list