@@ -132,6 +132,7 @@ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r{" end="}[iomxn
132132syn region rubyRegexp matchgroup =rubyRegexpDelimiter start =" %r<" end =" >[iomxneus]*" skip =" \\\\\|\\ >" contains =@rubyRegexpSpecial,rubyNestedAngleBrackets,rubyDelimEscape fold
133133syn region rubyRegexp matchgroup =rubyRegexpDelimiter start =" %r\[ " end =" \] [iomxneus]*" skip =" \\\\\|\\\] " contains =@rubyRegexpSpecial fold
134134syn region rubyRegexp matchgroup =rubyRegexpDelimiter start =" %r(" end =" )[iomxneus]*" skip =" \\\\\|\\ )" contains =@rubyRegexpSpecial fold
135+ syn region rubySymbol matchgroup =rubyRegexpDelimiter start =" %r " end =" ;" skip =" \\\\\|\\ )" contains =@rubyRegexpSpecial fold
135136
136137" Normal String and Shell Command Output
137138syn region rubyString matchgroup =rubyStringDelimiter start =" \" " end =" \" " skip =" \\\\\|\\\" " contains =@rubyStringSpecial fold
@@ -144,11 +145,13 @@ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]{" end="}
144145syn region rubyString matchgroup =rubyStringDelimiter start =" %[qw]<" end =" >" skip =" \\\\\|\\ >" fold contains =rubyNestedAngleBrackets,rubyDelimEscape
145146syn region rubyString matchgroup =rubyStringDelimiter start =" %[qw]\[ " end =" \] " skip =" \\\\\|\\\] " fold contains =rubyNestedSquareBrackets,rubyDelimEscape
146147syn region rubyString matchgroup =rubyStringDelimiter start =" %[qw](" end =" )" skip =" \\\\\|\\ )" fold contains =rubyNestedParentheses,rubyDelimEscape
147- syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %[s]\z ([~`!@#$%^&*_\- +=|\: ;"',.?/]\) " end =" \z 1" skip =" \\\\\|\\\z 1" fold
148- syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %[s]{" end =" }" skip =" \\\\\|\\ }" fold contains =rubyNestedCurlyBraces,rubyDelimEscape
149- syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %[s]<" end =" >" skip =" \\\\\|\\ >" fold contains =rubyNestedAngleBrackets,rubyDelimEscape
150- syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %[s]\[ " end =" \] " skip =" \\\\\|\\\] " fold contains =rubyNestedSquareBrackets,rubyDelimEscape
151- syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %[s](" end =" )" skip =" \\\\\|\\ )" fold contains =rubyNestedParentheses,rubyDelimEscape
148+ syn region rubySymbol matchgroup =rubyStringDelimiter start =" %q " end =" ;" skip =" \\\\\|\\ )" fold contains =rubyNestedParentheses,rubyDelimEscape
149+ syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %s\z ([~`!@#$%^&*_\- +=|\: ;"',.?/]\) " end =" \z 1" skip =" \\\\\|\\\z 1" fold
150+ syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %s{" end =" }" skip =" \\\\\|\\ }" fold contains =rubyNestedCurlyBraces,rubyDelimEscape
151+ syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %s<" end =" >" skip =" \\\\\|\\ >" fold contains =rubyNestedAngleBrackets,rubyDelimEscape
152+ syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %s\[ " end =" \] " skip =" \\\\\|\\\] " fold contains =rubyNestedSquareBrackets,rubyDelimEscape
153+ syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %s(" end =" )" skip =" \\\\\|\\ )" fold contains =rubyNestedParentheses,rubyDelimEscape
154+ syn region rubySymbol matchgroup =rubySymbolDelimiter start =" %s " end =" ;" skip =" \\\\\|\\ )" fold contains =rubyNestedParentheses,rubyDelimEscape
152155
153156" Generalized Double Quoted String and Array of Strings and Shell Command Output
154157" Note: %= is not matched here as the beginning of a double quoted string
@@ -158,6 +161,7 @@ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\={" en
158161syn region rubyString matchgroup =rubyStringDelimiter start =" %[QWx]\= <" end =" >" skip =" \\\\\|\\ >" contains =@rubyStringSpecial,rubyNestedAngleBrackets,rubyDelimEscape fold
159162syn region rubyString matchgroup =rubyStringDelimiter start =" %[QWx]\=\[ " end =" \] " skip =" \\\\\|\\\] " contains =@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimEscape fold
160163syn region rubyString matchgroup =rubyStringDelimiter start =" %[QWx]\= (" end =" )" skip =" \\\\\|\\ )" contains =@rubyStringSpecial,rubyNestedParentheses,rubyDelimEscape fold
164+ syn region rubySymbol matchgroup =rubyStringDelimiter start =" %[Qx]" end =" ;" skip =" \\\\\|\\ )" contains =@rubyStringSpecial,rubyNestedParentheses,rubyDelimEscape fold
161165
162166" Here Document
163167syn region rubyHeredocStart matchgroup =rubyStringDelimiter start =+ \% (\% (class\s *\|\% ([]})"'.]\| ::\)\)\_ s*\|\w\)\@ <!<<-\=\z s\% (\h\w *\) + end =+ $+ oneline contains =ALLBUT,@rubyNotTop
0 commit comments