@@ -146,40 +146,7 @@ contexts:
146146    - include : strings 
147147    - include : chars 
148148
149-     #  macros which take format specs as the only parameter
150-     - match : ' \b((?:format(?:_args)?|e?print(?:ln)?|panic|unreachable|unimplemented)!)\s*(\()' 
151-       captures :
152-         1 : support.macro.rust 
153-         2 : meta.group.rust punctuation.section.group.begin.rust 
154-       push :
155-         - meta_content_scope : meta.group.rust 
156-         - include : comments 
157-         - include : format-string 
158-         - include : format-raw-string 
159-         - match : ' (?=\S)' 
160-           set : group-tail 
161- 
162-     #  macros which take format specs as the second parameter
163-     - match : ' \b((?:write(?:ln)?|(?:debug_)?assert)!)\s*(\()' 
164-       captures :
165-         1 : support.macro.rust 
166-         2 : meta.group.rust punctuation.section.group.begin.rust 
167-       push :
168-         - meta_scope : meta.group.rust 
169-         - include : comments 
170-         - match : ' ,' 
171-           set :
172-             - meta_content_scope : meta.group.rust 
173-             - include : format-string 
174-             - include : format-raw-string 
175-             - match : ' (?=\S)' 
176-               set : group-tail 
177-         - include : group-tail 
178- 
179-     #  macros which take format specs as the third parameter
180-     #  - match: '\b((?:assert_eq|assert_ne|debug_assert_eq|debug_assert_ne)!)\s*(\()'
181-     #  is more performant as the below
182-     #  - match: '\b((?:debug_)?assert_(?:eq|ne)!)\s*(\()'
149+     - include : macros 
183150
184151    - match : ' \b{{identifier}}!(?=\s*(\(|\{|\[))' 
185152      scope : support.macro.rust 
@@ -1232,6 +1199,47 @@ contexts:
12321199    - include : char 
12331200    - include : byte 
12341201
1202+   macros :
1203+     - include : macros-fmt-only 
1204+     - include : macros-fmt-second 
1205+ 
1206+   macros-fmt-only :
1207+     #  macros which take format specs as the only parameter
1208+     - match : ' \b((?:format(?:_args)?|e?print(?:ln)?|panic|unreachable|unimplemented)!)\s*(\()' 
1209+       captures :
1210+         1 : support.macro.rust 
1211+         2 : meta.group.rust punctuation.section.group.begin.rust 
1212+       push :
1213+         - meta_content_scope : meta.group.rust 
1214+         - include : comments 
1215+         - include : format-string 
1216+         - include : format-raw-string 
1217+         - match : ' (?=\S)' 
1218+           set : group-tail 
1219+ 
1220+   macros-fmt-second :
1221+     #  macros which take format specs as the second parameter
1222+     - match : ' \b((?:write(?:ln)?|(?:debug_)?assert)!)\s*(\()' 
1223+       captures :
1224+         1 : support.macro.rust 
1225+         2 : meta.group.rust punctuation.section.group.begin.rust 
1226+       push :
1227+         - meta_scope : meta.group.rust 
1228+         - include : comments 
1229+         - match : ' ,' 
1230+           set :
1231+             - meta_content_scope : meta.group.rust 
1232+             - include : format-string 
1233+             - include : format-raw-string 
1234+             - match : ' (?=\S)' 
1235+               set : group-tail 
1236+         - include : group-tail 
1237+ 
1238+     #  macros which take format specs as the third parameter
1239+     #  - match: '\b((?:assert_eq|assert_ne|debug_assert_eq|debug_assert_ne)!)\s*(\()'
1240+     #  is more performant as the below
1241+     #  - match: '\b((?:debug_)?assert_(?:eq|ne)!)\s*(\()'
1242+ 
12351243  byte :
12361244    - match : " (b)(')" 
12371245      captures :
0 commit comments