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 @@ (?&lt;=^|\s)(def)\s+ # the def keyword ( (?&gt;[a-zA-Z_]\w*(?&gt;\.|::))? # a method name prefix (?&gt;[a-zA-Z_]\w*(?&gt;[?!]|=(?!&gt;))? # the method name |===?|&gt;[&gt;=]?|&lt;=&gt;|&lt;[&lt;=]?|[%&amp;`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …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>(?&lt;!:)(:)(?&gt;[a-zA-Z_]\w*(?&gt;[?!]|=(?![&gt;=]))?|===?|&gt;[&gt;=]?|&lt;[&lt;=]?|&lt;=&gt;|[%&amp;`/\|]|\*\*?|=?~|[-+]@?|\[\]=?|@@?[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>(?&gt;[a-zA-Z_]\w*(?&gt;[?!])?)(:)(?!:)</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>(?&gt;\=\s*&lt;&lt;(\w+))(?!\s+#\s*([Cc]|sh|[Jj]ava))</string> + <string>(?&gt;&lt;&lt;-("?)((?:[_\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>(?&gt;&lt;&lt;-HTML\b)</string> + <string>(?&gt;&lt;&lt;-("?)((?:[_\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>(?&gt;&lt;&lt;-SQL\b)</string> + <string>(?&gt;&lt;&lt;-("?)((?:[_\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>(?&gt;&lt;&lt;-(["\\']?)(\w+_(?i:eval))\1)</string> + <string>(?&gt;&lt;&lt;-("?)((?:[_\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>(?&gt;&lt;&lt;-(\w+))</string> + <string>(?&gt;&lt;&lt;-("?)((?:[_\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>(?&gt;\=\s*&lt;&lt;(\w+))(?=\s+#\s*[Cc](?!(\+\+|[Ss][Ss])))</string> + <string>(?&gt;&lt;&lt;-("?)((?:[_\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>(?&gt;\=\s*&lt;&lt;(\w+))(?=\s+#\s*[Cc]\+\+)</string> + <string>(?&gt;&lt;&lt;-("?)((?:[_\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>(?&gt;\=\s*&lt;&lt;(\w+))(?=\s+#\s*[Cc][Ss][Ss])</string> + <string>(?&gt;&lt;&lt;-("?)((?:[_\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>(?&gt;\=\s*&lt;&lt;(\w+))(?=\s+#\s*[Jj]ava[Ss]cript)</string> + <string>(?&gt;&lt;&lt;-("?)((?:[_\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>(?&gt;\=\s*&lt;&lt;(\w+))(?=\s+#\s*sh)</string> + <string>(?&gt;\=\s*&lt;&lt;(\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>(?&gt;&lt;&lt;-(\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>&lt;&lt;=|%=|&amp;=|\*=|\*\*=|\+=|\-=|\^=|\|{1,2}=|/=|&lt;&lt;</string> + <string>&lt;&lt;=|%=|&amp;=|\*=|\*\*=|\+=|\-=|\^=|\|{1,2}=|&lt;&lt;</string> <key>name</key> <string>keyword.operator.assignment.augmented.ruby</string> </dict> <dict> <key>match</key>