Reimer Behrends wrote:
> On Mon, Feb 14, 2000 at 05:44:39PM +0100, Mirko Nasato wrote:
> > Anyone made a ruby.vim syntax file yet? If not, i'm going to do it.
> I have an unfinished one at
> 	http://www.cse.msu.edu/~behrends/vim/
Now i go and fetch it.

In the meantime, i have started my own...

  => http://altern.org/mn/ruby/ruby.vim
  => http://altern.org/mn/ruby/vim.html  (documentation)

In Vim 5.6 syntax dir...

  $ ruby -e 'puts Dir["*.vim"].size'
  189
  
189 syntax files and Ruby is not supported!

Vim even won Slashdot.org's "Beanie Award" as best text editor.  Just 
because it also happens to be Larry Wall's favourite editor it doesn't 
mean Ruby programmers have to boycott it! ;-)

In case you haven't noticed, i really think a Ruby syntax file should 
be included in the next Vim release.

So let's join our efforts and send a good ruby.vim to Vim's author.

> Main problems remaining:
> Distinguishing the division operator from regular expressions.
Mine works for one line patterns, not for multiline.

> Reliably parsing "here documents".
Mine support only EOF (like perl.vim). Other labels can be added, but
i doubt we can find a generalized way.

> Handling %[qQrxw] constructs that span multiple lines (same problem).
Mine does, but not for all delimiters (again, like perl.vim).

> Better treatment of #{...} embedded in strings and regular expressions.
Mine does it well, i think.

> Highlighting errors rather than ignoring them.
Errors? Do Ruby programmers make errors? ;-)

Other features i've put in it:
  * option to disable colorizing of constants, instance vars, 
    global vars, iterator vars, predefined vars, symbols
  * "end" color match that of opening statement (e.g. "end" closing a
    "def" is purple like the "def", "end" closing a "while" is yellow 
    like the "while")

Other problems:
  * characters, like ?a or ?\M-a: where are they documented?
  * slow or inaccurate (that's a trade-off) for big files
  * all the ones i didn't catch

Should we make a ruby.vim.regression.rb?  I've used test.rb in Ruby's
sample dir, plus a few ad hoc scripts.

Ciao.

-- Mirko Nasato