textmate/Bundles/Ruby.tmbundle/Syntaxes/Ruby.plist in redcar-0.3.1dev vs textmate/Bundles/Ruby.tmbundle/Syntaxes/Ruby.plist in redcar-0.3.2dev
- old
+ new
@@ -56,11 +56,11 @@
<string>gemspec</string>
<string>irbrc</string>
<string>capfile</string>
</array>
<key>firstLineMatch</key>
- <string>^#!/.*\bruby\b</string>
+ <string>^#!/.*\bruby</string>
<key>foldingStartMarker</key>
<string>(?x)^
(\s*+
(module|class|def(?!.*\bend\s*$)
|unless|if
@@ -430,11 +430,11 @@
(?<=^|\s)(def)\s+ # the def keyword
( (?>[a-zA-Z_]\w*(?>\.|::))? # a method name prefix
(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))? # the method name
|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
[ \t] # the space separating the arguments
- (?=[ \t]*[^\s#]) # make sure arguments and not a comment follow
+ (?=[ \t]*[^\s#;]) # make sure arguments and not a comment follow
</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
@@ -548,10 +548,18 @@
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
+ <key>comment</key>
+ <string>Needs higher precidence than regular expressions.</string>
+ <key>match</key>
+ <string>/=</string>
+ <key>name</key>
+ <string>keyword.operator.assignment.augmented.ruby</string>
+ </dict>
+ <dict>
<key>begin</key>
<string>'</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
@@ -887,13 +895,10 @@
^when\s # duplication necessary due to limits of regex
| ^if\s
| ^elsif\s
| ^while\s
| ^unless\s
- | ^Given\s
- | ^Then\s
- | ^When\s
)
)
\s*((/))(?![*+{}?])
</string>
<key>captures</key>
@@ -1551,10 +1556,26 @@
<string>(?<!:)(:)(?>[a-zA-Z_]\w*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?|@@?[a-zA-Z_]\w*)</string>
<key>name</key>
<string>constant.other.symbol.ruby</string>
</dict>
<dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.constant.ruby</string>
+ </dict>
+ </dict>
+ <key>comment</key>
+ <string>symbols</string>
+ <key>match</key>
+ <string>(?>[a-zA-Z_]\w*(?>[?!])?)(:)(?!:)</string>
+ <key>name</key>
+ <string>constant.other.symbol.ruby.19syntax</string>
+ </dict>
+ <dict>
<key>begin</key>
<string>^=begin</string>
<key>captures</key>
<dict>
<key>0</key>
@@ -1651,83 +1672,91 @@
</dict>
</array>
</dict>
<dict>
<key>begin</key>
- <string>(?>\=\s*<<(\w+))(?!\s+#\s*([Cc]|sh|[Jj]ava))</string>
+ <string>(?><<-("?)((?:[_\w]+_|)HTML)\b\1)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ruby</string>
</dict>
</dict>
+ <key>comment</key>
+ <string>heredoc with embedded HTML and indented terminator</string>
+ <key>contentName</key>
+ <string>text.html.embedded.ruby</string>
<key>end</key>
- <string>^\1$</string>
+ <string>\s*\2$</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.ruby</string>
</dict>
</dict>
<key>name</key>
- <string>string.unquoted.heredoc.ruby</string>
+ <string>string.unquoted.embedded.html.ruby</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#heredoc</string>
</dict>
<dict>
<key>include</key>
+ <string>text.html.basic</string>
+ </dict>
+ <dict>
+ <key>include</key>
<string>#interpolated_ruby</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
- <string>(?><<-HTML\b)</string>
+ <string>(?><<-("?)((?:[_\w]+_|)SQL)\b\1)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ruby</string>
</dict>
</dict>
<key>comment</key>
- <string>heredoc with embedded HTML and indented terminator</string>
+ <string>heredoc with embedded SQL and indented terminator</string>
<key>contentName</key>
- <string>text.html.embedded.ruby</string>
+ <string>text.sql.embedded.ruby</string>
<key>end</key>
- <string>\s*HTML$</string>
+ <string>\s*\2$</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.ruby</string>
</dict>
</dict>
<key>name</key>
- <string>string.unquoted.embedded.html.ruby</string>
+ <string>string.unquoted.embedded.sql.ruby</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#heredoc</string>
</dict>
<dict>
<key>include</key>
- <string>text.html.basic</string>
+ <string>source.sql</string>
</dict>
<dict>
<key>include</key>
<string>#interpolated_ruby</string>
</dict>
@@ -1737,44 +1766,44 @@
</dict>
</array>
</dict>
<dict>
<key>begin</key>
- <string>(?><<-SQL\b)</string>
+ <string>(?><<-("?)((?:[_\w]+_|)CSS)\b\1)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ruby</string>
</dict>
</dict>
<key>comment</key>
- <string>heredoc with embedded SQL and indented terminator</string>
+ <string>heredoc with embedded css and intented terminator</string>
<key>contentName</key>
- <string>text.sql.embedded.ruby</string>
+ <string>text.css.embedded.ruby</string>
<key>end</key>
- <string>\s*SQL$</string>
+ <string>\s*\2$</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.ruby</string>
</dict>
</dict>
<key>name</key>
- <string>string.unquoted.embedded.sql.ruby</string>
+ <string>string.unquoted.embedded.css.ruby</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#heredoc</string>
</dict>
<dict>
<key>include</key>
- <string>source.sql</string>
+ <string>source.css</string>
</dict>
<dict>
<key>include</key>
<string>#interpolated_ruby</string>
</dict>
@@ -1784,21 +1813,23 @@
</dict>
</array>
</dict>
<dict>
<key>begin</key>
- <string>(?><<-(["\\']?)(\w+_(?i:eval))\1)</string>
+ <string>(?><<-("?)((?:[_\w]+_|)CPP)\b\1)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ruby</string>
</dict>
</dict>
<key>comment</key>
- <string>ruby code in heredoc, interpolated</string>
+ <string>heredoc with embedded c++ and intented terminator</string>
+ <key>contentName</key>
+ <string>text.c++.embedded.ruby</string>
<key>end</key>
<string>\s*\2$</string>
<key>endCaptures</key>
<dict>
<key>0</key>
@@ -1806,104 +1837,114 @@
<key>name</key>
<string>punctuation.definition.string.end.ruby</string>
</dict>
</dict>
<key>name</key>
- <string>string.unquoted.embedded.ruby.ruby</string>
+ <string>string.unquoted.embedded.cplusplus.ruby</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#heredoc</string>
</dict>
<dict>
<key>include</key>
- <string>#interpolated_ruby</string>
+ <string>source.c++</string>
</dict>
<dict>
<key>include</key>
- <string>source.ruby</string>
+ <string>#interpolated_ruby</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
- <string>(?><<-(\w+))</string>
+ <string>(?><<-("?)((?:[_\w]+_|)C)\b\1)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ruby</string>
</dict>
</dict>
<key>comment</key>
- <string>heredoc with indented terminator</string>
+ <string>heredoc with embedded c++ and intented terminator</string>
+ <key>contentName</key>
+ <string>text.c.embedded.ruby</string>
<key>end</key>
- <string>\s*\1$</string>
+ <string>\s*\2$</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.ruby</string>
</dict>
</dict>
<key>name</key>
- <string>string.unquoted.heredoc.ruby</string>
+ <string>string.unquoted.embedded.c.ruby</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#heredoc</string>
</dict>
<dict>
<key>include</key>
+ <string>source.c</string>
+ </dict>
+ <dict>
+ <key>include</key>
<string>#interpolated_ruby</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
- <string>(?>\=\s*<<(\w+))(?=\s+#\s*[Cc](?!(\+\+|[Ss][Ss])))</string>
+ <string>(?><<-("?)((?:[_\w]+_|)(?:JS|JAVASCRIPT))\b\1)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ruby</string>
</dict>
</dict>
+ <key>comment</key>
+ <string>heredoc with embedded javascript and intented terminator</string>
+ <key>contentName</key>
+ <string>text.js.embedded.ruby</string>
<key>end</key>
- <string>^\1$</string>
+ <string>\s*\2$</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.ruby</string>
</dict>
</dict>
<key>name</key>
- <string>string.unquoted.embedded.c.ruby</string>
+ <string>string.unquoted.embedded.js.ruby</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#heredoc</string>
</dict>
<dict>
<key>include</key>
- <string>source.c</string>
+ <string>source.js</string>
</dict>
<dict>
<key>include</key>
<string>#interpolated_ruby</string>
</dict>
@@ -1913,40 +1954,44 @@
</dict>
</array>
</dict>
<dict>
<key>begin</key>
- <string>(?>\=\s*<<(\w+))(?=\s+#\s*[Cc]\+\+)</string>
+ <string>(?><<-("?)((?:[_\w]+_|)JQUERY)\b\1)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ruby</string>
</dict>
</dict>
+ <key>comment</key>
+ <string>heredoc with embedded javascript and intented terminator</string>
+ <key>contentName</key>
+ <string>text.js.jquery.embedded.ruby</string>
<key>end</key>
- <string>^\1$</string>
+ <string>\s*\2$</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.ruby</string>
</dict>
</dict>
<key>name</key>
- <string>string.unquoted.embedded.cplusplus.ruby</string>
+ <string>string.unquoted.embedded.js.jquery.ruby</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#heredoc</string>
</dict>
<dict>
<key>include</key>
- <string>source.c++</string>
+ <string>source.js.jquery</string>
</dict>
<dict>
<key>include</key>
<string>#interpolated_ruby</string>
</dict>
@@ -1956,40 +2001,44 @@
</dict>
</array>
</dict>
<dict>
<key>begin</key>
- <string>(?>\=\s*<<(\w+))(?=\s+#\s*[Cc][Ss][Ss])</string>
+ <string>(?><<-("?)((?:[_\w]+_|)(?:SH|SHELL))\b\1)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ruby</string>
</dict>
</dict>
+ <key>comment</key>
+ <string>heredoc with embedded shell and intented terminator</string>
+ <key>contentName</key>
+ <string>text.shell.embedded.ruby</string>
<key>end</key>
- <string>^\1$</string>
+ <string>\s*\2$</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.ruby</string>
</dict>
</dict>
<key>name</key>
- <string>string.unquoted.embedded.css.ruby</string>
+ <string>string.unquoted.embedded.shell.ruby</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#heredoc</string>
</dict>
<dict>
<key>include</key>
- <string>source.css</string>
+ <string>source.shell</string>
</dict>
<dict>
<key>include</key>
<string>#interpolated_ruby</string>
</dict>
@@ -1999,40 +2048,44 @@
</dict>
</array>
</dict>
<dict>
<key>begin</key>
- <string>(?>\=\s*<<(\w+))(?=\s+#\s*[Jj]ava[Ss]cript)</string>
+ <string>(?><<-("?)((?:[_\w]+_|)RUBY)\b\1)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ruby</string>
</dict>
</dict>
+ <key>comment</key>
+ <string>heredoc with embedded ruby and intented terminator</string>
+ <key>contentName</key>
+ <string>text.ruby.embedded.ruby</string>
<key>end</key>
- <string>^\1$</string>
+ <string>\s*\2$</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.ruby</string>
</dict>
</dict>
<key>name</key>
- <string>string.unquoted.embedded.js.ruby</string>
+ <string>string.unquoted.embedded.ruby.ruby</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#heredoc</string>
</dict>
<dict>
<key>include</key>
- <string>source.js</string>
+ <string>source.ruby</string>
</dict>
<dict>
<key>include</key>
<string>#interpolated_ruby</string>
</dict>
@@ -2042,11 +2095,11 @@
</dict>
</array>
</dict>
<dict>
<key>begin</key>
- <string>(?>\=\s*<<(\w+))(?=\s+#\s*sh)</string>
+ <string>(?>\=\s*<<(\w+))</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
@@ -2062,23 +2115,60 @@
<key>name</key>
<string>punctuation.definition.string.end.ruby</string>
</dict>
</dict>
<key>name</key>
- <string>string.unquoted.embedded.shell.ruby</string>
+ <string>string.unquoted.heredoc.ruby</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#heredoc</string>
</dict>
<dict>
<key>include</key>
- <string>source.shell</string>
+ <string>#interpolated_ruby</string>
</dict>
<dict>
<key>include</key>
+ <string>#escaped_char</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(?><<-(\w+))</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.begin.ruby</string>
+ </dict>
+ </dict>
+ <key>comment</key>
+ <string>heredoc with indented terminator</string>
+ <key>end</key>
+ <string>\s*\1$</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>0</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.string.end.ruby</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>string.unquoted.heredoc.ruby</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#heredoc</string>
+ </dict>
+ <dict>
+ <key>include</key>
<string>#interpolated_ruby</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
@@ -2120,10 +2210,10 @@
<key>name</key>
<string>punctuation.separator.key-value</string>
</dict>
<dict>
<key>match</key>
- <string><<=|%=|&=|\*=|\*\*=|\+=|\-=|\^=|\|{1,2}=|/=|<<</string>
+ <string><<=|%=|&=|\*=|\*\*=|\+=|\-=|\^=|\|{1,2}=|<<</string>
<key>name</key>
<string>keyword.operator.assignment.augmented.ruby</string>
</dict>
<dict>
<key>match</key>