File tree Expand file tree Collapse file tree 6 files changed +99
-22
lines changed Expand file tree Collapse file tree 6 files changed +99
-22
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) - Fix non-interpolabale Ruby 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
} ,
132
+ {
133
+ begin : / % q \( / ,
134
+ end : / \) /
135
+ } ,
136
+ {
137
+ begin : / % q \[ / ,
138
+ end : / \] /
139
+ } ,
140
+ {
141
+ begin : / % q \{ / ,
142
+ end : / \} /
143
+ } ,
144
+ {
145
+ begin : / % q < / ,
146
+ end : / > /
147
+ } ,
148
+ {
149
+ begin : / % q \/ / ,
150
+ end : / \/ /
151
+ } ,
152
+ {
153
+ begin : / % q % / ,
154
+ end : / % /
155
+ } ,
156
+ {
157
+ begin : / % q - / ,
158
+ end : / - /
159
+ } ,
136
160
{
137
161
begin : / " / ,
138
- end : / " /
162
+ end : / " / ,
163
+ contains : [
164
+ hljs . BACKSLASH_ESCAPE ,
165
+ SUBST
166
+ ]
139
167
} ,
140
168
{
141
169
begin : / ` / ,
142
- end : / ` /
170
+ end : / ` / ,
171
+ contains : [
172
+ hljs . BACKSLASH_ESCAPE ,
173
+ SUBST
174
+ ]
143
175
} ,
144
176
{
145
177
begin : / % [ q Q w W x ] ? \( / ,
146
- end : / \) /
178
+ end : / \) / ,
179
+ contains : [
180
+ hljs . BACKSLASH_ESCAPE ,
181
+ SUBST
182
+ ]
147
183
} ,
148
184
{
149
185
begin : / % [ q Q w W x ] ? \[ / ,
150
- end : / \] /
186
+ end : / \] / ,
187
+ contains : [
188
+ hljs . BACKSLASH_ESCAPE ,
189
+ SUBST
190
+ ]
151
191
} ,
152
192
{
153
193
begin : / % [ q Q w W x ] ? \{ / ,
154
- end : / \} /
194
+ end : / \} / ,
195
+ contains : [
196
+ hljs . BACKSLASH_ESCAPE ,
197
+ SUBST
198
+ ]
155
199
} ,
156
200
{
157
201
begin : / % [ q Q w W x ] ? < / ,
158
- end : / > /
202
+ end : / > / ,
203
+ contains : [
204
+ hljs . BACKSLASH_ESCAPE ,
205
+ SUBST
206
+ ]
159
207
} ,
160
208
{
161
209
begin : / % [ q Q w W x ] ? \/ / ,
162
- end : / \/ /
210
+ end : / \/ / ,
211
+ contains : [
212
+ hljs . BACKSLASH_ESCAPE ,
213
+ SUBST
214
+ ]
163
215
} ,
164
216
{
165
217
begin : / % [ q Q w W x ] ? % / ,
166
- end : / % /
218
+ end : / % / ,
219
+ contains : [
220
+ hljs . BACKSLASH_ESCAPE ,
221
+ SUBST
222
+ ]
167
223
} ,
168
224
{
169
225
begin : / % [ q Q w W x ] ? - / ,
170
- end : / - /
226
+ end : / - / ,
227
+ contains : [
228
+ hljs . BACKSLASH_ESCAPE ,
229
+ SUBST
230
+ ]
171
231
} ,
172
232
{
173
233
begin : / % [ q Q w W x ] ? \| / ,
174
- end : / \| /
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