Masataka Kuwabara
Masataka Kuwabara

Software Engineer at SideCI, Inc. / RuboCop core developer

A parser based syntax highlighter

It has an elegant syntax that is natural to read and easy to write.

Definitely. The syntax is elegant. But it is too complex sometimes. So, syntax highlighters for Ruby are difficult and easy to break. For example, probably your editor cannot correctly highlight ????::?:, % %s%% %%%% or def end(def:def def;end)end (They are valid Ruby programs!). Yeah, it is edge cases. In real cases, some syntax highlighter cannot correctly highlight a here document.

I'll talk a robust syntax highlighter for Ruby, it is Iro gem and Iro.vim. The highlighter never break since it uses Ripper to highlight code.