File tree 3 files changed +10
-6
lines changed
3 files changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -189,7 +189,9 @@ impl<'a> Classifier<'a> {
189
189
// leading identifier.
190
190
TokenKind :: Bang if self . in_macro => {
191
191
self . in_macro = false ;
192
- Class :: Macro
192
+ sink ( Highlight :: Token { text, class : None } ) ;
193
+ sink ( Highlight :: ExitSpan ) ;
194
+ return ;
193
195
}
194
196
195
197
// Assume that '&' or '*' is the reference or dereference operator
@@ -298,7 +300,9 @@ impl<'a> Classifier<'a> {
298
300
} ,
299
301
TokenKind :: Ident | TokenKind :: RawIdent if lookahead == Some ( TokenKind :: Bang ) => {
300
302
self . in_macro = true ;
301
- Class :: Macro
303
+ sink ( Highlight :: EnterSpan { class : Class :: Macro } ) ;
304
+ sink ( Highlight :: Token { text, class : None } ) ;
305
+ return ;
302
306
}
303
307
TokenKind :: Ident => match text {
304
308
"ref" | "mut" => Class :: RefKeyWord ,
Original file line number Diff line number Diff line change 1
1
< span class ="kw "> pub</ span > < span class ="kw "> fn</ span > < span class ="ident "> foo</ span > () {
2
- < span class ="macro "> println</ span > < span class =" macro " > !</ span > (< span class ="string "> "foo"</ span > );
2
+ < span class ="macro "> println!</ span > (< span class ="string "> "foo"</ span > );
3
3
}
Original file line number Diff line number Diff line change 17
17
< span class ="kw "> let</ span > < span class ="kw "> _</ span > < span class ="op "> =</ span > < span class ="kw-2 "> &</ span > < span class ="ident "> foo</ span > ;
18
18
< span class ="kw "> let</ span > < span class ="kw "> _</ span > < span class ="op "> =</ span > < span class ="op "> &&</ span > < span class ="ident "> foo</ span > ;
19
19
< span class ="kw "> let</ span > < span class ="kw "> _</ span > < span class ="op "> =</ span > < span class ="kw-2 "> *</ span > < span class ="ident "> foo</ span > ;
20
- < span class ="macro "> mac</ span > < span class =" macro " > !</ span > (< span class ="ident "> foo</ span > , < span class ="kw-2 "> &</ span > < span class ="kw-2 "> mut</ span > < span class ="ident "> bar</ span > );
21
- < span class ="macro "> assert</ span > < span class =" macro " > !</ span > (< span class ="self "> self</ span > .< span class ="ident "> length</ span > < span class ="op "> <</ span > < span class ="ident "> N</ span > < span class ="op "> &&</ span > < span class ="ident "> index</ span > < span class ="op "> <</ span > < span class ="op "> =</ span > < span class ="self "> self</ span > .< span class ="ident "> length</ span > );
20
+ < span class ="macro "> mac!</ span > (< span class ="ident "> foo</ span > , < span class ="kw-2 "> &</ span > < span class ="kw-2 "> mut</ span > < span class ="ident "> bar</ span > );
21
+ < span class ="macro "> assert!</ span > (< span class ="self "> self</ span > .< span class ="ident "> length</ span > < span class ="op "> <</ span > < span class ="ident "> N</ span > < span class ="op "> &&</ span > < span class ="ident "> index</ span > < span class ="op "> <</ span > < span class ="op "> =</ span > < span class ="self "> self</ span > .< span class ="ident "> length</ span > );
22
22
}
23
23
24
- < span class ="macro "> macro_rules</ span > < span class =" macro " > !</ span > < span class ="ident "> bar</ span > {
24
+ < span class ="macro "> macro_rules!</ span > < span class ="ident "> bar</ span > {
25
25
(< span class ="macro-nonterminal "> $</ span > < span class ="macro-nonterminal "> foo</ span > :< span class ="ident "> tt</ span > ) < span class ="op "> =</ span > < span class ="op "> ></ span > {};
26
26
}
27
27
</ code > </ pre >
You can’t perform that action at this time.
0 commit comments