1
+
2
+ < style >
3
+ body { margin : 0 ; }
4
+ pre { color : # DCDCCC ; background : # 3F3F3F ; font-size : 22px ; padding : 0.4em ; }
5
+
6
+ .lifetime { color : # DFAF8F ; font-style : italic; }
7
+ .label { color : # DFAF8F ; font-style : italic; }
8
+ .comment { color : # 7F9F7F ; }
9
+ .documentation { color : # 629755 ; }
10
+ .intra_doc_link { font-style : italic; }
11
+ .injected { opacity : 0.65 ; }
12
+ .struct , .enum { color : # 7CB8BB ; }
13
+ .enum_variant { color : # BDE0F3 ; }
14
+ .string_literal { color : # CC9393 ; }
15
+ .field { color : # 94BFF3 ; }
16
+ .function { color : # 93E0E3 ; }
17
+ .function .unsafe { color : # BC8383 ; }
18
+ .trait .unsafe { color : # BC8383 ; }
19
+ .operator .unsafe { color : # BC8383 ; }
20
+ .mutable .unsafe { color : # BC8383 ; text-decoration : underline; }
21
+ .keyword .unsafe { color : # BC8383 ; font-weight : bold; }
22
+ .parameter { color : # 94BFF3 ; }
23
+ .text { color : # DCDCCC ; }
24
+ .type { color : # 7CB8BB ; }
25
+ .builtin_type { color : # 8CD0D3 ; }
26
+ .type_param { color : # DFAF8F ; }
27
+ .attribute { color : # 94BFF3 ; }
28
+ .numeric_literal { color : # BFEBBF ; }
29
+ .bool_literal { color : # BFE6EB ; }
30
+ .macro { color : # 94BFF3 ; }
31
+ .derive { color : # 94BFF3 ; font-style : italic; }
32
+ .module { color : # AFD8AF ; }
33
+ .value_param { color : # DCDCCC ; }
34
+ .variable { color : # DCDCCC ; }
35
+ .format_specifier { color : # CC696B ; }
36
+ .mutable { text-decoration : underline; }
37
+ .escape_sequence { color : # 94BFF3 ; }
38
+ .keyword { color : # F0DFAF ; font-weight : bold; }
39
+ .control { font-style : italic; }
40
+ .reference { font-style : italic; font-weight : bold; }
41
+
42
+ .unresolved_reference { color : # FC5555 ; text-decoration : wavy underline; }
43
+ </ style >
44
+ < pre > < code > < span class ="module crate_root library "> proc_macros</ span > < span class ="operator "> ::</ span > < span class ="macro library "> mirror</ span > < span class ="macro_bang "> !</ span > < span class ="brace "> {</ span >
45
+ < span class ="brace "> {</ span >
46
+ < span class ="comma "> ,</ span > < span class ="builtin_type "> i32</ span > < span class ="colon "> :</ span > < span class ="field declaration public "> x</ span > < span class ="keyword "> pub</ span >
47
+ < span class ="comma "> ,</ span > < span class ="builtin_type "> i32</ span > < span class ="colon "> :</ span > < span class ="field declaration public "> y</ span > < span class ="keyword "> pub</ span >
48
+ < span class ="brace "> }</ span > < span class ="struct declaration "> Foo</ span > < span class ="keyword "> struct</ span >
49
+ < span class ="brace "> }</ span >
50
+ < span class ="keyword "> macro_rules</ span > < span class ="punctuation "> !</ span > < span class ="macro declaration "> def_fn</ span > < span class ="brace "> {</ span >
51
+ < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > tt< span class ="colon "> :</ span > tt< span class ="parenthesis "> )</ span > < span class ="punctuation "> *</ span > < span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="brace "> {</ span > < span class ="punctuation "> $</ span > < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > tt< span class ="parenthesis "> )</ span > < span class ="punctuation "> *</ span > < span class ="brace "> }</ span >
52
+ < span class ="brace "> }</ span >
53
+
54
+ < span class ="macro "> def_fn</ span > < span class ="macro_bang "> !</ span > < span class ="brace "> {</ span >
55
+ < span class ="keyword "> fn</ span > < span class ="function declaration "> bar</ span > < span class ="parenthesis "> (</ span > < span class ="parenthesis "> )</ span > < span class ="operator "> -</ span > < span class ="operator "> ></ span > < span class ="builtin_type "> u32</ span > < span class ="brace "> {</ span >
56
+ < span class ="numeric_literal "> 100</ span >
57
+ < span class ="brace "> }</ span >
58
+ < span class ="brace "> }</ span >
59
+
60
+ < span class ="keyword "> macro_rules</ span > < span class ="punctuation "> !</ span > < span class ="macro declaration "> dont_color_me_braces</ span > < span class ="brace "> {</ span >
61
+ < span class ="parenthesis "> (</ span > < span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="brace "> {</ span > < span class ="numeric_literal "> 0</ span > < span class ="brace "> }</ span >
62
+ < span class ="brace "> }</ span >
63
+
64
+ < span class ="keyword "> macro_rules</ span > < span class ="punctuation "> !</ span > < span class ="macro declaration "> noop</ span > < span class ="brace "> {</ span >
65
+ < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > expr< span class ="colon "> :</ span > expr< span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="brace "> {</ span >
66
+ < span class ="punctuation "> $</ span > expr
67
+ < span class ="brace "> }</ span >
68
+ < span class ="brace "> }</ span >
69
+
70
+ < span class ="keyword "> macro_rules</ span > < span class ="punctuation "> !</ span > < span class ="macro declaration "> keyword_frag</ span > < span class ="brace "> {</ span >
71
+ < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > type< span class ="colon "> :</ span > ty< span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > type< span class ="parenthesis "> )</ span >
72
+ < span class ="brace "> }</ span >
73
+
74
+ < span class ="keyword "> macro</ span > < span class ="macro declaration "> with_args</ span > < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > i< span class ="colon "> :</ span > ident< span class ="parenthesis "> )</ span > < span class ="brace "> {</ span >
75
+ < span class ="punctuation "> $</ span > i
76
+ < span class ="brace "> }</ span >
77
+
78
+ < span class ="keyword "> macro</ span > < span class ="macro declaration "> without_args</ span > < span class ="brace "> {</ span >
79
+ < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > i< span class ="colon "> :</ span > ident< span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="brace "> {</ span >
80
+ < span class ="punctuation "> $</ span > i
81
+ < span class ="brace "> }</ span >
82
+ < span class ="brace "> }</ span >
83
+
84
+ < span class ="keyword "> fn</ span > < span class ="function declaration "> main</ span > < span class ="parenthesis "> (</ span > < span class ="parenthesis "> )</ span > < span class ="brace "> {</ span >
85
+ < span class ="unresolved_reference "> println</ span > < span class ="macro_bang "> !</ span > < span class ="parenthesis "> (</ span > < span class ="string_literal "> "Hello, {}!"</ span > < span class ="comma "> ,</ span > < span class ="numeric_literal "> 92</ span > < span class ="parenthesis "> )</ span > < span class ="semicolon "> ;</ span >
86
+ < span class ="macro "> dont_color_me_braces</ span > < span class ="macro_bang "> !</ span > < span class ="parenthesis "> (</ span > < span class ="parenthesis "> )</ span > < span class ="semicolon "> ;</ span >
87
+ < span class ="macro "> noop</ span > < span class ="macro_bang "> !</ span > < span class ="parenthesis "> (</ span > < span class ="macro "> noop</ span > < span class ="macro_bang "> !</ span > < span class ="parenthesis "> (</ span > < span class ="numeric_literal "> 1</ span > < span class ="parenthesis "> )</ span > < span class ="parenthesis "> )</ span > < span class ="semicolon "> ;</ span >
88
+ < span class ="brace "> }</ span > </ code > </ pre >
0 commit comments