]> git.lizzy.rs Git - rust.git/blob - crates/ide/src/syntax_highlighting/test_data/highlight_doctest.html
9d42b11c1e34b648859e0a532e40acabc18cdefc
[rust.git] / crates / ide / src / syntax_highlighting / test_data / highlight_doctest.html
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 .injected           { opacity: 0.65 ; }
11 .struct, .enum      { color: #7CB8BB; }
12 .enum_variant       { color: #BDE0F3; }
13 .string_literal     { color: #CC9393; }
14 .field              { color: #94BFF3; }
15 .function           { color: #93E0E3; }
16 .function.unsafe    { color: #BC8383; }
17 .operator.unsafe    { color: #BC8383; }
18 .parameter          { color: #94BFF3; }
19 .text               { color: #DCDCCC; }
20 .type               { color: #7CB8BB; }
21 .builtin_type       { color: #8CD0D3; }
22 .type_param         { color: #DFAF8F; }
23 .attribute          { color: #94BFF3; }
24 .numeric_literal    { color: #BFEBBF; }
25 .bool_literal       { color: #BFE6EB; }
26 .macro              { color: #94BFF3; }
27 .module             { color: #AFD8AF; }
28 .value_param        { color: #DCDCCC; }
29 .variable           { color: #DCDCCC; }
30 .format_specifier   { color: #CC696B; }
31 .mutable            { text-decoration: underline; }
32 .escape_sequence    { color: #94BFF3; }
33 .keyword            { color: #F0DFAF; font-weight: bold; }
34 .keyword.unsafe     { color: #BC8383; font-weight: bold; }
35 .control            { font-style: italic; }
36
37 .unresolved_reference { color: #FC5555; text-decoration: wavy underline; }
38 </style>
39 <pre><code><span class="comment documentation">/// ```</span>
40 <span class="comment documentation">/// </span><span class="keyword injected">let</span><span class="dummy injected"> </span><span class="punctuation injected">_</span><span class="dummy injected"> </span><span class="operator injected">=</span><span class="dummy injected"> </span><span class="string_literal injected">"early doctests should not go boom"</span><span class="punctuation injected">;</span>
41 <span class="comment documentation">/// ```</span>
42 <span class="keyword">struct</span> <span class="struct declaration">Foo</span> <span class="punctuation">{</span>
43     <span class="field declaration">bar</span><span class="punctuation">:</span> <span class="builtin_type">bool</span><span class="punctuation">,</span>
44 <span class="punctuation">}</span>
45
46 <span class="keyword">impl</span> <span class="struct">Foo</span> <span class="punctuation">{</span>
47     <span class="comment documentation">/// ```</span>
48     <span class="comment documentation">/// </span><span class="keyword injected">let</span><span class="dummy injected"> </span><span class="punctuation injected">_</span><span class="dummy injected"> </span><span class="operator injected">=</span><span class="dummy injected"> </span><span class="string_literal injected">"Call me</span>
49     <span class="comment">//    KILLER WHALE</span>
50     <span class="comment documentation">/// </span><span class="string_literal injected">    Ishmael."</span><span class="punctuation injected">;</span>
51     <span class="comment documentation">/// ```</span>
52     <span class="keyword">pub</span> <span class="keyword">const</span> <span class="constant declaration associated">bar</span><span class="punctuation">:</span> <span class="builtin_type">bool</span> <span class="operator">=</span> <span class="bool_literal">true</span><span class="punctuation">;</span>
53
54     <span class="comment documentation">/// Constructs a new `Foo`.</span>
55     <span class="comment documentation">///</span>
56     <span class="comment documentation">/// # Examples</span>
57     <span class="comment documentation">///</span>
58     <span class="comment documentation">/// ```</span>
59     <span class="comment documentation">/// #</span><span class="dummy injected"> </span><span class="attribute attribute injected">#</span><span class="attribute attribute injected">!</span><span class="attribute attribute injected">[</span><span class="function attribute injected">allow</span><span class="punctuation attribute injected">(</span><span class="attribute attribute injected">unused_mut</span><span class="punctuation attribute injected">)</span><span class="attribute attribute injected">]</span>
60     <span class="comment documentation">/// </span><span class="keyword injected">let</span><span class="dummy injected"> </span><span class="keyword injected">mut</span><span class="dummy injected"> </span><span class="variable declaration injected mutable">foo</span><span class="punctuation injected">:</span><span class="dummy injected"> </span><span class="struct injected">Foo</span><span class="dummy injected"> </span><span class="operator injected">=</span><span class="dummy injected"> </span><span class="struct injected">Foo</span><span class="operator injected">::</span><span class="function injected">new</span><span class="punctuation injected">(</span><span class="punctuation injected">)</span><span class="punctuation injected">;</span>
61     <span class="comment documentation">/// ```</span>
62     <span class="keyword">pub</span> <span class="keyword">const</span> <span class="keyword">fn</span> <span class="function declaration static associated">new</span><span class="punctuation">(</span><span class="punctuation">)</span> <span class="operator">-&gt;</span> <span class="struct">Foo</span> <span class="punctuation">{</span>
63         <span class="struct">Foo</span> <span class="punctuation">{</span> <span class="field">bar</span><span class="punctuation">:</span> <span class="bool_literal">true</span> <span class="punctuation">}</span>
64     <span class="punctuation">}</span>
65
66     <span class="comment documentation">/// `bar` method on `Foo`.</span>
67     <span class="comment documentation">///</span>
68     <span class="comment documentation">/// # Examples</span>
69     <span class="comment documentation">///</span>
70     <span class="comment documentation">/// ```</span>
71     <span class="comment documentation">/// </span><span class="keyword injected">use</span><span class="dummy injected"> </span><span class="module injected">x</span><span class="operator injected">::</span><span class="module injected">y</span><span class="punctuation injected">;</span>
72     <span class="comment documentation">///</span>
73     <span class="comment documentation">/// </span><span class="keyword injected">let</span><span class="dummy injected"> </span><span class="variable declaration injected">foo</span><span class="dummy injected"> </span><span class="operator injected">=</span><span class="dummy injected"> </span><span class="struct injected">Foo</span><span class="operator injected">::</span><span class="function injected">new</span><span class="punctuation injected">(</span><span class="punctuation injected">)</span><span class="punctuation injected">;</span>
74     <span class="comment documentation">///</span>
75     <span class="comment documentation">/// </span><span class="comment injected">// calls bar on foo</span>
76     <span class="comment documentation">/// </span><span class="macro injected">assert!</span><span class="punctuation injected">(</span><span class="dummy injected">foo</span><span class="operator injected">.</span><span class="dummy injected">bar</span><span class="punctuation injected">(</span><span class="punctuation injected">)</span><span class="punctuation injected">)</span><span class="punctuation injected">;</span>
77     <span class="comment documentation">///</span>
78     <span class="comment documentation">/// </span><span class="keyword injected">let</span><span class="dummy injected"> </span><span class="variable declaration injected">bar</span><span class="dummy injected"> </span><span class="operator injected">=</span><span class="dummy injected"> </span><span class="variable injected">foo</span><span class="operator injected">.</span><span class="field injected">bar</span><span class="dummy injected"> </span><span class="operator injected">||</span><span class="dummy injected"> </span><span class="struct injected">Foo</span><span class="operator injected">::</span><span class="constant injected">bar</span><span class="punctuation injected">;</span>
79     <span class="comment documentation">///</span>
80     <span class="comment documentation">/// </span><span class="comment injected">/* multi-line</span>
81     <span class="comment documentation">/// </span><span class="comment injected">       comment */</span>
82     <span class="comment documentation">///</span>
83     <span class="comment documentation">/// </span><span class="keyword injected">let</span><span class="dummy injected"> </span><span class="variable declaration injected">multi_line_string</span><span class="dummy injected"> </span><span class="operator injected">=</span><span class="dummy injected"> </span><span class="string_literal injected">"Foo</span>
84     <span class="comment documentation">/// </span><span class="string_literal injected">  bar</span>
85     <span class="comment documentation">/// </span><span class="string_literal injected">         "</span><span class="punctuation injected">;</span>
86     <span class="comment documentation">///</span>
87     <span class="comment documentation">/// ```</span>
88     <span class="comment documentation">///</span>
89     <span class="comment documentation">/// ```rust,no_run</span>
90     <span class="comment documentation">/// </span><span class="keyword injected">let</span><span class="dummy injected"> </span><span class="variable declaration injected">foobar</span><span class="dummy injected"> </span><span class="operator injected">=</span><span class="dummy injected"> </span><span class="struct injected">Foo</span><span class="operator injected">::</span><span class="function injected">new</span><span class="punctuation injected">(</span><span class="punctuation injected">)</span><span class="operator injected">.</span><span class="function injected">bar</span><span class="punctuation injected">(</span><span class="punctuation injected">)</span><span class="punctuation injected">;</span>
91     <span class="comment documentation">/// ```</span>
92     <span class="comment documentation">///</span>
93     <span class="comment documentation">/// ```sh</span>
94     <span class="comment documentation">/// echo 1</span>
95     <span class="comment documentation">/// ```</span>
96     <span class="keyword">pub</span> <span class="keyword">fn</span> <span class="function declaration associated">foo</span><span class="punctuation">(</span><span class="operator">&</span><span class="self_keyword">self</span><span class="punctuation">)</span> <span class="operator">-&gt;</span> <span class="builtin_type">bool</span> <span class="punctuation">{</span>
97         <span class="bool_literal">true</span>
98     <span class="punctuation">}</span>
99 <span class="punctuation">}</span>
100
101 <span class="comment documentation">/// ```</span>
102 <span class="comment documentation">/// </span><span class="macro injected">noop!</span><span class="punctuation injected">(</span><span class="numeric_literal injected">1</span><span class="punctuation injected">)</span><span class="punctuation injected">;</span>
103 <span class="comment documentation">/// ```</span>
104 <span class="keyword">macro_rules</span><span class="punctuation">!</span> <span class="macro declaration">noop</span> <span class="punctuation">{</span>
105     <span class="punctuation">(</span><span class="punctuation">$</span>expr<span class="punctuation">:</span>expr<span class="punctuation">)</span> <span class="operator">=</span><span class="punctuation">&gt;</span> <span class="punctuation">{</span>
106         <span class="punctuation">$</span>expr
107     <span class="punctuation">}</span>
108 <span class="punctuation">}</span></code></pre>