Skip to content

Commit f08c2f7

Browse files
Ruby: Added missing regex interpolation (#2841)
1 parent 4ec7535 commit f08c2f7

File tree

3 files changed

+103
-32
lines changed

3 files changed

+103
-32
lines changed

components/prism-ruby.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,12 @@
5353
}
5454
},
5555
{
56-
pattern: /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/,
56+
pattern: /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})#]))/,
5757
lookbehind: true,
58-
greedy: true
58+
greedy: true,
59+
inside: {
60+
'interpolation': interpolation
61+
}
5962
}
6063
],
6164
'variable': /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,

components/prism-ruby.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
+97-29
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,113 @@
11
/[foo]\/bar/gim
22
/[bar]/,
33
/./i;
4+
/foo#{bar}/;
45
%r!foo?bar#{39+3}!
56
%r(foo?bar#{39+3})
67
%r{foo?bar#{39+3}}
78
%r[foo?bar#{39+3}]
89
%r<foo?bar#{39+3}>
910

11+
/foo/ # comment
12+
/foo#{bar}/ # comment
13+
1014
----------------------------------------------------
1115

1216
[
13-
["regex", "/[foo]\\/bar/gim"],
14-
["regex", "/[bar]/"], ["punctuation", ","],
15-
["regex", "/./i"], ["punctuation", ";"],
16-
["regex", ["%r!foo?bar", ["interpolation", [
17-
["delimiter", "#{"],
18-
["number", "39"], ["operator", "+"], ["number", "3"],
19-
["delimiter", "}"]
20-
]], "!"]],
21-
["regex", ["%r(foo?bar", ["interpolation", [
22-
["delimiter", "#{"],
23-
["number", "39"], ["operator", "+"], ["number", "3"],
24-
["delimiter", "}"]
25-
]], ")"]],
26-
["regex", ["%r{foo?bar", ["interpolation", [
27-
["delimiter", "#{"],
28-
["number", "39"], ["operator", "+"], ["number", "3"],
29-
["delimiter", "}"]
30-
]], "}"]],
31-
["regex", ["%r[foo?bar", ["interpolation", [
32-
["delimiter", "#{"],
33-
["number", "39"], ["operator", "+"], ["number", "3"],
34-
["delimiter", "}"]
35-
]], "]"]],
36-
["regex", ["%r<foo?bar", ["interpolation", [
37-
["delimiter", "#{"],
38-
["number", "39"], ["operator", "+"], ["number", "3"],
39-
["delimiter", "}"]
40-
]], ">"]]
17+
["regex", ["/[foo]\\/bar/gim"]],
18+
19+
["regex", ["/[bar]/"]],
20+
["punctuation", ","],
21+
22+
["regex", ["/./i"]],
23+
["punctuation", ";"],
24+
25+
["regex", [
26+
"/foo",
27+
["interpolation", [
28+
["delimiter", "#{"],
29+
"bar",
30+
["delimiter", "}"]
31+
]],
32+
"/"
33+
]],
34+
["punctuation", ";"],
35+
36+
["regex", [
37+
"%r!foo?bar",
38+
["interpolation", [
39+
["delimiter", "#{"],
40+
["number", "39"],
41+
["operator", "+"],
42+
["number", "3"],
43+
["delimiter", "}"]
44+
]],
45+
"!"
46+
]],
47+
48+
["regex", [
49+
"%r(foo?bar",
50+
["interpolation", [
51+
["delimiter", "#{"],
52+
["number", "39"],
53+
["operator", "+"],
54+
["number", "3"],
55+
["delimiter", "}"]
56+
]],
57+
")"
58+
]],
59+
60+
["regex", [
61+
"%r{foo?bar",
62+
["interpolation", [
63+
["delimiter", "#{"],
64+
["number", "39"],
65+
["operator", "+"],
66+
["number", "3"],
67+
["delimiter", "}"]
68+
]],
69+
"}"
70+
]],
71+
72+
["regex", [
73+
"%r[foo?bar",
74+
["interpolation", [
75+
["delimiter", "#{"],
76+
["number", "39"],
77+
["operator", "+"],
78+
["number", "3"],
79+
["delimiter", "}"]
80+
]],
81+
"]"
82+
]],
83+
84+
["regex", [
85+
"%r<foo?bar",
86+
["interpolation", [
87+
["delimiter", "#{"],
88+
["number", "39"],
89+
["operator", "+"],
90+
["number", "3"],
91+
["delimiter", "}"]
92+
]],
93+
">"
94+
]],
95+
96+
["regex", ["/foo/"]],
97+
["comment", "# comment"],
98+
99+
["regex", [
100+
"/foo",
101+
["interpolation", [
102+
["delimiter", "#{"],
103+
"bar",
104+
["delimiter", "}"]
105+
]],
106+
"/"
107+
]],
108+
["comment", "# comment"]
41109
]
42110

43111
----------------------------------------------------
44112

45-
Checks for regex.
113+
Checks for regex.

0 commit comments

Comments
 (0)