Skip to content

Commit cde0495

Browse files
committed
Highlight :'...' as symbol; \' and \\ inside ''
1 parent 71e539e commit cde0495

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

syntax/ruby.vim

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ endif
3939
" Expression Substitution and Backslash Notation
4040
syn match rubyStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display
4141
syn match rubyStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display
42+
syn match rubyQuoteEscape "\\[\\']" contained display
4243

4344
syn region rubyInterpolation matchgroup=rubyInterpolationDelimiter start="#{" end="}" contained contains=ALLBUT,@rubyNotTop
4445
syn match rubyInterpolation "#\%(\$\|@@\=\)\w\+" display contained contains=rubyInterpolationDelimiter,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable,rubyPredefinedVariable
@@ -100,7 +101,7 @@ syn match rubySymbol "[]})\"':]\@<!:\%(\^\|\~\|<<\|<=>\|<=\|<\|===\|==\|=\~\|
100101
syn match rubySymbol "[]})\"':]\@<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)"
101102
syn match rubySymbol "[]})\"':]\@<!:\%(\$\|@@\=\)\=\h\w*"
102103
syn match rubySymbol "[]})\"':]\@<!:\h\w*\%([?!=]>\@!\)\="
103-
syn region rubySymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\""
104+
syn region rubySymbol start="[]})\"':]\@<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
104105
syn region rubySymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
105106

106107
syn match rubyBlockParameter "\h\w*" contained
@@ -132,7 +133,7 @@ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r(" end=")[iomxn
132133

133134
" Normal String and Shell Command Output
134135
syn region rubyString matchgroup=rubyStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
135-
syn region rubyString matchgroup=rubyStringDelimiter start="'" end="'" skip="\\\\\|\\'" fold
136+
syn region rubyString matchgroup=rubyStringDelimiter start="'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
136137
syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial fold
137138

138139
" Generalized Single Quoted String, Symbol and Array of Strings
@@ -333,6 +334,7 @@ hi def link rubyDataDirective Delimiter
333334
hi def link rubyDocumentation Comment
334335
hi def link rubyTodo Todo
335336

337+
hi def link rubyQuoteEscape rubyStringEscape
336338
hi def link rubyStringEscape Special
337339
hi def link rubyInterpolationDelimiter Delimiter
338340
hi def link rubyNoInterpolation rubyString

0 commit comments

Comments
 (0)