mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-28 04:45:05 +00:00
Syntax highlighting for documentation comments on macro definitions
This commit is contained in:
parent
491eda61e3
commit
df5b37cb61
3 changed files with 19 additions and 2 deletions
|
@ -84,4 +84,13 @@ pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd
|
||||||
<span class="keyword">pub</span> <span class="keyword">fn</span> <span class="function declaration">foo</span>(&<span class="self_keyword">self</span>) -> <span class="builtin_type">bool</span> {
|
<span class="keyword">pub</span> <span class="keyword">fn</span> <span class="function declaration">foo</span>(&<span class="self_keyword">self</span>) -> <span class="builtin_type">bool</span> {
|
||||||
<span class="bool_literal">true</span>
|
<span class="bool_literal">true</span>
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
<span class="comment documentation">/// ```</span>
|
||||||
|
<span class="comment documentation">/// </span><span class="macro">noop!</span>(<span class="numeric_literal">1</span>);
|
||||||
|
<span class="comment documentation">/// ```</span>
|
||||||
|
<span class="macro">macro_rules!</span> <span class="macro declaration">noop</span> {
|
||||||
|
($expr:expr) => {
|
||||||
|
$expr
|
||||||
|
}
|
||||||
}</code></pre>
|
}</code></pre>
|
|
@ -121,7 +121,6 @@ pub(crate) fn highlight(
|
||||||
assert!(current_macro_call == Some(mc));
|
assert!(current_macro_call == Some(mc));
|
||||||
current_macro_call = None;
|
current_macro_call = None;
|
||||||
format_string = None;
|
format_string = None;
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
|
@ -150,7 +149,7 @@ pub(crate) fn highlight(
|
||||||
|
|
||||||
let range = element.text_range();
|
let range = element.text_range();
|
||||||
|
|
||||||
let element_to_highlight = if current_macro_call.is_some() {
|
let element_to_highlight = if current_macro_call.is_some() && element.kind() != COMMENT {
|
||||||
// Inside a macro -- expand it first
|
// Inside a macro -- expand it first
|
||||||
let token = match element.clone().into_token() {
|
let token = match element.clone().into_token() {
|
||||||
Some(it) if it.parent().kind() == TOKEN_TREE => it,
|
Some(it) if it.parent().kind() == TOKEN_TREE => it,
|
||||||
|
|
|
@ -344,6 +344,15 @@ impl Foo {
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// ```
|
||||||
|
/// noop!(1);
|
||||||
|
/// ```
|
||||||
|
macro_rules! noop {
|
||||||
|
($expr:expr) => {
|
||||||
|
$expr
|
||||||
|
}
|
||||||
|
}
|
||||||
"#
|
"#
|
||||||
.trim(),
|
.trim(),
|
||||||
"crates/ra_ide/src/snapshots/highlight_doctest.html",
|
"crates/ra_ide/src/snapshots/highlight_doctest.html",
|
||||||
|
|
Loading…
Reference in a new issue