diff options
| author | hi-rustin <rustin.liu@gmail.com> | 2021-05-14 17:30:00 +0800 |
|---|---|---|
| committer | hi-rustin <rustin.liu@gmail.com> | 2021-05-14 17:47:16 +0800 |
| commit | 765ccf2eca2c21af4e2d76b006809446d0034bc7 (patch) | |
| tree | 08d457f7e9e401200c72d9de3ff9bb6b221fb09c | |
| parent | b98c119ba690afdcd21edb3b344834e42422df0a (diff) | |
| download | rust-765ccf2eca2c21af4e2d76b006809446d0034bc7.tar.gz rust-765ccf2eca2c21af4e2d76b006809446d0034bc7.zip | |
Address comments
| -rw-r--r-- | crates/ide/src/syntax_highlighting/highlight.rs | 6 | ||||
| -rw-r--r-- | crates/ide/src/syntax_highlighting/test_data/highlighting.html | 11 | ||||
| -rw-r--r-- | crates/ide/src/syntax_highlighting/tests.rs | 11 |
3 files changed, 25 insertions, 3 deletions
diff --git a/crates/ide/src/syntax_highlighting/highlight.rs b/crates/ide/src/syntax_highlighting/highlight.rs index bea5065445e..baed8e2170f 100644 --- a/crates/ide/src/syntax_highlighting/highlight.rs +++ b/crates/ide/src/syntax_highlighting/highlight.rs @@ -227,8 +227,8 @@ pub(super) fn element( k if k.is_keyword() => { let h = Highlight::new(HlTag::Keyword); match k { - T![await] - | T![break] + T![await] => h | HlMod::Async | HlMod::ControlFlow, + T![break] | T![continue] | T![else] | T![if] @@ -255,7 +255,7 @@ pub(super) fn element( }) .map(|modifier| h | modifier) .unwrap_or(h), - T![async] | T![await] => h | HlMod::Async, + T![async] => h | HlMod::Async, _ => h, } } diff --git a/crates/ide/src/syntax_highlighting/test_data/highlighting.html b/crates/ide/src/syntax_highlighting/test_data/highlighting.html index df419219494..33bc6b0f3b0 100644 --- a/crates/ide/src/syntax_highlighting/test_data/highlighting.html +++ b/crates/ide/src/syntax_highlighting/test_data/highlighting.html @@ -234,4 +234,15 @@ pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd <span class="variable declaration">Nope</span> <span class="operator">=></span> <span class="variable">Nope</span><span class="comma">,</span> <span class="brace">}</span> <span class="brace">}</span> +<span class="brace">}</span> + +<span class="keyword async">async</span> <span class="keyword">fn</span> <span class="function declaration async">learn_and_sing</span><span class="parenthesis">(</span><span class="parenthesis">)</span> <span class="brace">{</span> + <span class="keyword">let</span> <span class="variable declaration">song</span> <span class="operator">=</span> <span class="unresolved_reference">learn_song</span><span class="parenthesis">(</span><span class="parenthesis">)</span><span class="operator">.</span><span class="keyword control async">await</span><span class="semicolon">;</span> + <span class="unresolved_reference">sing_song</span><span class="parenthesis">(</span><span class="variable consuming">song</span><span class="parenthesis">)</span><span class="operator">.</span><span class="keyword control async">await</span><span class="semicolon">;</span> +<span class="brace">}</span> + +<span class="keyword async">async</span> <span class="keyword">fn</span> <span class="function declaration async">async_main</span><span class="parenthesis">(</span><span class="parenthesis">)</span> <span class="brace">{</span> + <span class="keyword">let</span> <span class="variable declaration">f1</span> <span class="operator">=</span> <span class="function async">learn_and_sing</span><span class="parenthesis">(</span><span class="parenthesis">)</span><span class="semicolon">;</span> + <span class="keyword">let</span> <span class="variable declaration">f2</span> <span class="operator">=</span> <span class="unresolved_reference">dance</span><span class="parenthesis">(</span><span class="parenthesis">)</span><span class="semicolon">;</span> + futures::<span class="macro">join!</span><span class="parenthesis">(</span>f1<span class="comma">,</span> f2<span class="parenthesis">)</span><span class="semicolon">;</span> <span class="brace">}</span></code></pre> \ No newline at end of file diff --git a/crates/ide/src/syntax_highlighting/tests.rs b/crates/ide/src/syntax_highlighting/tests.rs index b6e952b0888..32f2d9038ea 100644 --- a/crates/ide/src/syntax_highlighting/tests.rs +++ b/crates/ide/src/syntax_highlighting/tests.rs @@ -208,6 +208,17 @@ impl<T> Option<T> { } } } + +async fn learn_and_sing() { + let song = learn_song().await; + sing_song(song).await; +} + +async fn async_main() { + let f1 = learn_and_sing(); + let f2 = dance(); + futures::join!(f1, f2); +} "# .trim(), expect_file!["./test_data/highlighting.html"], |
