File tree 3 files changed +25
-6
lines changed
3 files changed +25
-6
lines changed Original file line number Diff line number Diff line change @@ -435,15 +435,34 @@ impl<'a> Classifier<'a> {
435
435
_ => Class :: RefKeyWord ,
436
436
} ,
437
437
438
- // Operators.
438
+ // These can either be operators, or arrows.
439
+ TokenKind :: Eq => match lookahead {
440
+ Some ( TokenKind :: Eq ) => {
441
+ self . next ( ) ;
442
+ sink ( Highlight :: Token { text : "==" , class : Some ( Class :: Op ) } ) ;
443
+ return ;
444
+ }
445
+ Some ( TokenKind :: Gt ) => {
446
+ self . next ( ) ;
447
+ sink ( Highlight :: Token { text : "=>" , class : None } ) ;
448
+ return ;
449
+ }
450
+ _ => Class :: Op ,
451
+ } ,
452
+ TokenKind :: Minus if lookahead == Some ( TokenKind :: Gt ) => {
453
+ self . next ( ) ;
454
+ sink ( Highlight :: Token { text : "->" , class : None } ) ;
455
+ return ;
456
+ }
457
+
458
+ // Other operators.
439
459
TokenKind :: Minus
440
460
| TokenKind :: Plus
441
461
| TokenKind :: Or
442
462
| TokenKind :: Slash
443
463
| TokenKind :: Caret
444
464
| TokenKind :: Percent
445
465
| TokenKind :: Bang
446
- | TokenKind :: Eq
447
466
| TokenKind :: Lt
448
467
| TokenKind :: Gt => Class :: Op ,
449
468
Original file line number Diff line number Diff line change 13
13
< span class ="kw "> use</ span > < span class ="ident "> std::path</ span > ::{< span class ="ident "> Path</ span > , < span class ="ident "> PathBuf</ span > };
14
14
15
15
< span class ="attribute "> #[< span class ="ident "> cfg</ span > (< span class ="ident "> target_os</ span > < span class ="op "> =</ span > < span class ="string "> "linux"</ span > )]</ span >
16
- < span class ="kw "> fn</ span > < span class ="ident "> main</ span > () {
16
+ < span class ="kw "> fn</ span > < span class ="ident "> main</ span > () -> () {
17
17
< span class ="kw "> let</ span > < span class ="ident "> foo</ span > < span class ="op "> =</ span > < span class ="bool-val "> true</ span > < span class ="op "> &&</ span > < span class ="bool-val "> false</ span > < span class ="op "> |</ span > < span class ="op "> |</ span > < span class ="bool-val "> true</ span > ;
18
18
< span class ="kw "> let</ span > < span class ="kw "> _</ span > : < span class ="kw-2 "> *</ span > < span class ="kw "> const</ span > () < span class ="op "> =</ span > < span class ="number "> 0</ 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 > ;
27
27
< span class ="kw "> let</ span > < span class ="kw-2 "> mut</ span > < span class ="ident "> s</ span > < span class ="op "> =</ span > < span class ="ident "> String::new</ span > ();
28
28
29
29
< span class ="kw "> match</ span > < span class ="kw-2 "> &</ span > < span class ="ident "> s</ span > {
30
- < span class ="kw-2 "> ref</ span > < span class ="kw-2 "> mut</ span > < span class ="ident "> x</ span > < span class =" op " > = </ span > < span class =" op " > ></ span > {}
30
+ < span class ="kw-2 "> ref</ span > < span class ="kw-2 "> mut</ span > < span class ="ident "> x</ span > = > {}
31
31
}
32
32
}
33
33
34
34
< span class ="macro "> macro_rules!</ span > < span class ="ident "> bar</ span > {
35
- (< span class ="macro-nonterminal "> $</ span > < span class ="macro-nonterminal "> foo</ span > :< span class ="ident "> tt</ span > ) < span class =" op " > = </ span > < span class =" op " > ></ span > {};
35
+ (< span class ="macro-nonterminal "> $</ span > < span class ="macro-nonterminal "> foo</ span > :< span class ="ident "> tt</ span > ) = > {};
36
36
}
37
37
</ code > </ pre >
Original file line number Diff line number Diff line change 3
3
use std:: path:: { Path , PathBuf } ;
4
4
5
5
#[ cfg( target_os = "linux" ) ]
6
- fn main ( ) {
6
+ fn main ( ) -> ( ) {
7
7
let foo = true && false || true ;
8
8
let _: * const ( ) = 0 ;
9
9
let _ = & foo;
You can’t perform that action at this time.
0 commit comments