File tree 6 files changed +106
-29
lines changed
6 files changed +106
-29
lines changed Original file line number Diff line number Diff line change @@ -41,7 +41,8 @@ Core Grammars:
41
41
- fix(swift) - Fixed syntax highlighting for class func/var declarations [ guuido]
42
42
- fix(yaml) - Fixed wrong escaping behavior in single quoted strings [ guuido]
43
43
- enh(nim) - Add ` concept ` and ` defer ` to list of Nim keywords [ Jake Leahy]
44
-
44
+ - fix(ruby) - Don't highlighting interpolation in single quoted strings [ Boris Verkhovskiy] [ ]
45
+
45
46
New Grammars:
46
47
47
48
- added 3rd party TTCN-3 grammar to SUPPORTED_LANGUAGES [ Osmocom] [ ]
@@ -85,7 +86,7 @@ CONTRIBUTORS
85
86
[ guuido ] : https://github.com/guuido
86
87
[ clsource ] : https://github.com/clsource
87
88
[ Jake Leahy ] : https://github.com/ire4ever1190
88
-
89
+ [ Boris Verkhovskiy ] : https://github.com/verhovsky
89
90
90
91
## Version 11.10.0
91
92
Original file line number Diff line number Diff line change @@ -15,8 +15,7 @@ export default function(hljs) {
15
15
/ \b ( [ A - Z ] + [ a - z 0 - 9 ] + ) + / ,
16
16
// ends in caps
17
17
/ \b ( [ A - Z ] + [ a - z 0 - 9 ] + ) + [ A - Z ] + / ,
18
- )
19
- ;
18
+ ) ;
20
19
const CLASS_NAME_WITH_NAMESPACE_RE = regex . concat ( CLASS_NAME_RE , / ( : : \w + ) * / )
21
20
// very popular ruby built-ins that one might even assume
22
21
// are actual keywords (despite that not being the case)
@@ -124,54 +123,119 @@ export default function(hljs) {
124
123
} ;
125
124
const STRING = {
126
125
className : 'string' ,
127
- contains : [
128
- hljs . BACKSLASH_ESCAPE ,
129
- SUBST
130
- ] ,
126
+ contains : [ hljs . BACKSLASH_ESCAPE ] ,
131
127
variants : [
132
128
{
133
129
begin : / ' / ,
134
130
end : / ' /
135
131
} ,
136
132
{
137
- begin : / " / ,
138
- end : / " /
139
- } ,
140
- {
141
- begin : / ` / ,
142
- end : / ` /
143
- } ,
144
- {
145
- begin : / % [ q Q w W x ] ? \( / ,
133
+ begin : / % q \( / ,
146
134
end : / \) /
147
135
} ,
148
136
{
149
- begin : / % [ q Q w W x ] ? \[ / ,
137
+ begin : / % q \[ / ,
150
138
end : / \] /
151
139
} ,
152
140
{
153
- begin : / % [ q Q w W x ] ? \{ / ,
141
+ begin : / % q \{ / ,
154
142
end : / \} /
155
143
} ,
156
144
{
157
- begin : / % [ q Q w W x ] ? < / ,
145
+ begin : / % q < / ,
158
146
end : / > /
159
147
} ,
160
148
{
161
- begin : / % [ q Q w W x ] ? \/ / ,
149
+ begin : / % q \/ / ,
162
150
end : / \/ /
163
151
} ,
164
152
{
165
- begin : / % [ q Q w W x ] ? % / ,
153
+ begin : / % q % / ,
166
154
end : / % /
167
155
} ,
168
156
{
169
- begin : / % [ q Q w W x ] ? - / ,
157
+ begin : / % q - / ,
170
158
end : / - /
171
159
} ,
172
160
{
173
- begin : / % [ q Q w W x ] ? \| / ,
174
- end : / \| /
161
+ begin : / " / ,
162
+ end : / " / ,
163
+ contains : [
164
+ hljs . BACKSLASH_ESCAPE ,
165
+ SUBST
166
+ ]
167
+ } ,
168
+ {
169
+ begin : / ` / ,
170
+ end : / ` / ,
171
+ contains : [
172
+ hljs . BACKSLASH_ESCAPE ,
173
+ SUBST
174
+ ]
175
+ } ,
176
+ {
177
+ begin : / % [ Q w W x ] ? \( / ,
178
+ end : / \) / ,
179
+ contains : [
180
+ hljs . BACKSLASH_ESCAPE ,
181
+ SUBST
182
+ ]
183
+ } ,
184
+ {
185
+ begin : / % [ Q w W x ] ? \[ / ,
186
+ end : / \] / ,
187
+ contains : [
188
+ hljs . BACKSLASH_ESCAPE ,
189
+ SUBST
190
+ ]
191
+ } ,
192
+ {
193
+ begin : / % [ Q w W x ] ? \{ / ,
194
+ end : / \} / ,
195
+ contains : [
196
+ hljs . BACKSLASH_ESCAPE ,
197
+ SUBST
198
+ ]
199
+ } ,
200
+ {
201
+ begin : / % [ Q w W x ] ? < / ,
202
+ end : / > / ,
203
+ contains : [
204
+ hljs . BACKSLASH_ESCAPE ,
205
+ SUBST
206
+ ]
207
+ } ,
208
+ {
209
+ begin : / % [ Q w W x ] ? \/ / ,
210
+ end : / \/ / ,
211
+ contains : [
212
+ hljs . BACKSLASH_ESCAPE ,
213
+ SUBST
214
+ ]
215
+ } ,
216
+ {
217
+ begin : / % [ Q w W x ] ? % / ,
218
+ end : / % / ,
219
+ contains : [
220
+ hljs . BACKSLASH_ESCAPE ,
221
+ SUBST
222
+ ]
223
+ } ,
224
+ {
225
+ begin : / % [ Q w W x ] ? - / ,
226
+ end : / - / ,
227
+ contains : [
228
+ hljs . BACKSLASH_ESCAPE ,
229
+ SUBST
230
+ ]
231
+ } ,
232
+ {
233
+ begin : / % [ Q w W x ] ? \| / ,
234
+ end : / \| / ,
235
+ contains : [
236
+ hljs . BACKSLASH_ESCAPE ,
237
+ SUBST
238
+ ]
175
239
} ,
176
240
// in the following expressions, \B in the beginning suppresses recognition of ?-sequences
177
241
// where ? is the last character of a preceding identifier, as in: `func?4`
Original file line number Diff line number Diff line change 6
6
7
7
<%-</span><span class="language-ruby"> available_things = things.select(&<span class="hljs-symbol">:available?</span>) </span><span class="language-xml">-%>
8
8
<%%</span><span class="language-ruby">- x = <span class="hljs-number">1</span> + <span class="hljs-number">2</span> -</span><span class="language-xml">%%>
9
- <%%</span><span class="language-ruby"> value = <span class="hljs-string">' ;real string <span class="hljs-subst">#{<span class="hljs-variable">@value</span>}</span>' ;</span> </span><span class="language-xml">%%>
9
+ <%%</span><span class="language-ruby"> value = <span class="hljs-string">" ;real string <span class="hljs-subst">#{<span class="hljs-variable">@value</span>}</span>" ;</span> </span><span class="language-xml">%%>
10
10
<%%</span><span class="language-ruby">= available_things.inspect </span><span class="language-xml">%%>
11
11
</span>
Original file line number Diff line number Diff line change 6
6
7
7
<%- available_things = things.select(&:available?) -%>
8
8
<%%- x = 1 + 2 -%%>
9
- <%% value = ' real string #{@value}' %%>
9
+ <%% value = " real string #{@value}" %%>
10
10
<%%= available_things.inspect %%>
Original file line number Diff line number Diff line change @@ -27,4 +27,10 @@ c = <span class="hljs-string">?\u{00AF09}</span>
27
27
c = <span class="hljs-string">?\u{0AF09}</span>
28
28
c = <span class="hljs-string">?\u{AF9}</span>
29
29
c = <span class="hljs-string">?\u{F9}</span>
30
- c = <span class="hljs-string">?\u{F}</span>
30
+ c = <span class="hljs-string">?\u{F}</span>
31
+
32
+ <span class="hljs-comment"># Interpolation</span>
33
+ c = <span class="hljs-string">'a#{1}b'</span> <span class="hljs-comment">#=> "a\#{1}b"</span>
34
+ c = <span class="hljs-string">"a<span class="hljs-subst">#{<span class="hljs-number">1</span>}</span>b"</span> <span class="hljs-comment">#=> "a1b"</span>
35
+ c = <span class="hljs-string">%q(a#{1}b)</span> <span class="hljs-comment">#=> "a\#{1}b"</span>
36
+ c = <span class="hljs-string">%Q{a<span class="hljs-subst">#{<span class="hljs-number">1</span>}</span>b}</span> <span class="hljs-comment">#=> "a1b"</span>
Original file line number Diff line number Diff line change @@ -27,4 +27,10 @@ c = ?\u{00AF09}
27
27
c = ?\u{0AF09}
28
28
c = ?\u{AF9}
29
29
c = ?\u{F9}
30
- c = ?\u{F}
30
+ c = ?\u{F}
31
+
32
+ # Interpolation
33
+ c = 'a#{1}b' #=> "a\#{1}b"
34
+ c = "a#{1}b" #=> "a1b"
35
+ c = %q(a#{1}b) #=> "a\#{1}b"
36
+ c = %Q{a#{1}b} #=> "a1b"
You can’t perform that action at this time.
0 commit comments