@@ -7,151 +7,13 @@ uuid: 39e15186-71e6-11e5-b82c-7c6d62900c7c
77author : Victor Petrovykh victor@magic.io
88
99patterns :
10- - include : ' #expression'
10+ - include : ' #regexp- expression'
1111
1212repository :
1313 $apply :
14+ - file : ' regexp-common.inc.yaml'
1415 - file : ' regexp.inc.yaml'
16+ vars :
17+ prefix : ' '
1518
16- expression :
17- patterns :
18- - include : ' #regexp-base-expression'
19- - include : ' #character-set'
20- - include : ' #comments'
21- - include : ' #regexp-flags'
22- - include : ' #named-group'
23- - include : ' #regexp-backreference'
24- - include : ' #lookahead'
25- - include : ' #lookahead-negative'
26- - include : ' #lookbehind'
27- - include : ' #lookbehind-negative'
28- - include : ' #conditional'
29- - include : ' #parentheses-non-capturing'
30- - include : ' #parentheses'
31-
32- character-set :
33- name : meta.character.set.regexp
34- begin : (\[)(\^)?(\])?
35- end : (\])
36- beginCaptures :
37- ' 1 ' : {name: constant.other.set.regexp
38- punctuation.character.set.begin.regexp}
39- ' 2 ' : {name: keyword.operator.negation.regexp}
40- ' 3 ' : {name: constant.character.set.regexp}
41- endCaptures :
42- ' 1 ' : {name: constant.other.set.regexp
43- punctuation.character.set.end.regexp}
44- patterns :
45- - include : ' #regexp-charecter-set-escapes'
46- - name : constant.character.set.regexp
47- match : ' [^\n]'
48-
49- named-group :
50- name : meta.named.regexp
51- begin : |
52- (?x)
53- (\() (\?P <\w+(?:\s+[[:alnum:]]+)?>)
54- end : \)
55- beginCaptures :
56- ' 1 ' : {name: punctuation.parenthesis.named.begin.regexp
57- support.other.parenthesis.regexp}
58- ' 2 ' : {name: entity.name.tag.named.group.regexp}
59- endCaptures :
60- ' 0 ' : {name: punctuation.parenthesis.named.end.regexp
61- support.other.parenthesis.regexp}
62- patterns :
63- - include : ' #expression'
64-
65- comments :
66- name : comment.regexp
67- begin : \(\?#
68- end : \)
69- beginCaptures :
70- ' 0 ' : {name: punctuation.comments.begin.regexp}
71- endCaptures :
72- ' 0 ' : {name: punctuation.comments.end.regexp}
73-
74- lookahead :
75- begin : ' (\()\?='
76- end : \)
77- beginCaptures :
78- ' 0 ' : {name: keyword.operator.lookahead.regexp}
79- ' 1 ' : {name: punctuation.parenthesis.lookahead.begin.regexp}
80- endCaptures :
81- ' 0 ' : {name: punctuation.parenthesis.lookahead.end.regexp
82- keyword.operator.lookahead.regexp}
83- patterns :
84- - include : ' #expression'
85-
86- lookahead-negative :
87- begin : ' (\()\?!'
88- end : \)
89- beginCaptures :
90- ' 0 ' : {name: keyword.operator.lookahead.negative.regexp}
91- ' 1 ' : {name: punctuation.parenthesis.lookahead.begin.regexp}
92- endCaptures :
93- ' 0 ' : {name: punctuation.parenthesis.lookahead.end.regexp
94- keyword.operator.lookahead.negative.regexp}
95- patterns :
96- - include : ' #expression'
97-
98- lookbehind :
99- begin : ' (\()\?<='
100- end : \)
101- beginCaptures :
102- ' 0 ' : {name: keyword.operator.lookbehind.regexp}
103- ' 1 ' : {name: punctuation.parenthesis.lookbehind.begin.regexp}
104- endCaptures :
105- ' 0 ' : {name: punctuation.parenthesis.lookbehind.end.regexp
106- keyword.operator.lookbehind.regexp}
107- patterns :
108- - include : ' #expression'
109-
110- lookbehind-negative :
111- begin : ' (\()\?<!'
112- end : \)
113- beginCaptures :
114- ' 0 ' : {name: keyword.operator.lookbehind.negative.regexp}
115- ' 1 ' : {name: punctuation.parenthesis.lookbehind.begin.regexp}
116- endCaptures :
117- ' 0 ' : {name: punctuation.parenthesis.lookbehind.end.regexp
118- keyword.operator.lookbehind.negative.regexp}
119- patterns :
120- - include : ' #expression'
121-
122- conditional :
123- begin : ' (\()\?\((\w+(?:\s+[[:alnum:]]+)?|\d+)\)'
124- end : \)
125- beginCaptures :
126- ' 0 ' : {name: keyword.operator.conditional.regexp}
127- ' 1 ' : {name: punctuation.parenthesis.conditional.begin.regexp}
128- endCaptures :
129- ' 0 ' : {name: punctuation.parenthesis.conditional.end.regexp
130- keyword.operator.conditional.negative.regexp}
131- patterns :
132- - include : ' #expression'
133-
134- parentheses-non-capturing :
135- begin : ' \(\?:'
136- end : \)
137- beginCaptures :
138- ' 0 ' : {name: punctuation.parenthesis.non-capturing.begin.regexp
139- support.other.parenthesis.regexp}
140- endCaptures :
141- ' 0 ' : {name: punctuation.parenthesis.non-capturing.end.regexp
142- support.other.parenthesis.regexp}
143- patterns :
144- - include : ' #expression'
145-
146- parentheses :
147- begin : \(
148- end : \)
149- beginCaptures :
150- ' 0 ' : {name: punctuation.parenthesis.begin.regexp
151- support.other.parenthesis.regexp}
152- endCaptures :
153- ' 0 ' : {name: punctuation.parenthesis.end.regexp
154- support.other.parenthesis.regexp}
155- patterns :
156- - include : ' #expression'
15719...
0 commit comments