aboutsummaryrefslogtreecommitdiff
path: root/crates/ide/src/syntax_highlighting/test_data/highlight_trait_items.html
blob: 85274a61fad900dd26a8301a5073f984b0730dd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<style>
body                { margin: 0; }
pre                 { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padding: 0.4em; }

.lifetime           { color: #DFAF8F; font-style: italic; }
.label              { color: #DFAF8F; font-style: italic; }
.comment            { color: #7F9F7F; }
.documentation      { color: #629755; }
.intra_doc_link     { font-style: italic; }
.injected           { opacity: 0.65 ; }
.struct, .enum      { color: #7CB8BB; }
.enum_variant       { color: #BDE0F3; }
.string_literal     { color: #CC9393; }
.field              { color: #94BFF3; }
.function           { color: #93E0E3; }
.function.unsafe    { color: #BC8383; }
.operator.unsafe    { color: #BC8383; }
.parameter          { color: #94BFF3; }
.text               { color: #DCDCCC; }
.type               { color: #7CB8BB; }
.builtin_type       { color: #8CD0D3; }
.type_param         { color: #DFAF8F; }
.attribute          { color: #94BFF3; }
.numeric_literal    { color: #BFEBBF; }
.bool_literal       { color: #BFE6EB; }
.macro              { color: #94BFF3; }
.module             { color: #AFD8AF; }
.value_param        { color: #DCDCCC; }
.variable           { color: #DCDCCC; }
.format_specifier   { color: #CC696B; }
.mutable            { text-decoration: underline; }
.escape_sequence    { color: #94BFF3; }
.keyword            { color: #F0DFAF; font-weight: bold; }
.keyword.unsafe     { color: #BC8383; font-weight: bold; }
.control            { font-style: italic; }

.unresolved_reference { color: #FC5555; text-decoration: wavy underline; }
</style>
<pre><code><span class="keyword">struct</span> <span class="struct declaration">Cat</span><span class="semicolon">;</span>

<span class="keyword">trait</span> <span class="trait declaration">Animal</span> <span class="brace">{</span>
    <span class="keyword">const</span> <span class="constant declaration associated trait">SOUND</span><span class="colon">:</span> <span class="operator">&</span><span class="lifetime">'static</span> <span class="builtin_type">str</span><span class="semicolon">;</span>

    <span class="keyword">fn</span> <span class="function declaration associated trait">make_sound</span><span class="parenthesis">(</span><span class="operator">&</span><span class="self_keyword declaration">self</span><span class="parenthesis">)</span> <span class="brace">{</span>
        <span class="macro">println!</span><span class="parenthesis">(</span><span class="string_literal">"{}"</span><span class="comma">,</span> Self<span class="colon">:</span><span class="colon">:</span>SOUND<span class="parenthesis">)</span><span class="semicolon">;</span>
    <span class="brace">}</span>
<span class="brace">}</span>

<span class="keyword">impl</span> <span class="trait">Animal</span> <span class="keyword">for</span> <span class="struct">Cat</span> <span class="brace">{</span>
    <span class="keyword">const</span> <span class="constant declaration associated trait">SOUND</span><span class="colon">:</span> <span class="operator">&</span><span class="lifetime">'static</span> <span class="builtin_type">str</span> <span class="operator">=</span> <span class="string_literal">"Meow!"</span><span class="semicolon">;</span>
<span class="brace">}</span>

<span class="keyword">impl</span> <span class="struct">Cat</span> <span class="brace">{</span>
    <span class="keyword">const</span> <span class="constant declaration associated">SPEED</span><span class="colon">:</span> <span class="builtin_type">u32</span> <span class="operator">=</span> <span class="numeric_literal">2</span><span class="semicolon">;</span>

    <span class="keyword">fn</span> <span class="function declaration static associated">run</span><span class="parenthesis">(</span><span class="parenthesis">)</span> <span class="brace">{</span><span class="brace">}</span>
<span class="brace">}</span>

<span class="keyword">fn</span> <span class="function declaration">main</span><span class="parenthesis">(</span><span class="parenthesis">)</span> <span class="brace">{</span>
    <span class="keyword">let</span> <span class="variable declaration">cat</span> <span class="operator">=</span> <span class="struct">Cat</span><span class="semicolon">;</span>
    <span class="variable">cat</span><span class="operator">.</span><span class="function associated trait">make_sound</span><span class="parenthesis">(</span><span class="parenthesis">)</span><span class="semicolon">;</span>
    <span class="keyword">let</span> <span class="variable declaration">_sound</span> <span class="operator">=</span> <span class="struct">Cat</span><span class="operator">::</span><span class="constant associated trait">SOUND</span><span class="semicolon">;</span>
    <span class="keyword">let</span> <span class="variable declaration">_speed</span> <span class="operator">=</span> <span class="struct">Cat</span><span class="operator">::</span><span class="constant associated">SPEED</span><span class="semicolon">;</span>
    <span class="struct">Cat</span><span class="operator">::</span><span class="function static associated">run</span><span class="parenthesis">(</span><span class="parenthesis">)</span><span class="semicolon">;</span>
<span class="brace">}</span>
</code></pre>