mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-27 18:26:19 +00:00
Merge pull request #19326 from Veykril/push-vovuxzkzrowp
Add missing name-ref parents to syntactic highlighting
This commit is contained in:
commit
5a742d3da9
3 changed files with 11 additions and 10 deletions
|
|
@ -824,6 +824,7 @@ fn highlight_name_ref_by_syntax(
|
|||
h.into()
|
||||
}
|
||||
}
|
||||
RECORD_EXPR_FIELD | RECORD_PAT_FIELD => HlTag::Symbol(SymbolKind::Field).into(),
|
||||
PATH_SEGMENT => {
|
||||
let name_based_fallback = || {
|
||||
if name.text().chars().next().unwrap_or_default().is_uppercase() {
|
||||
|
|
@ -862,6 +863,8 @@ fn highlight_name_ref_by_syntax(
|
|||
.into(),
|
||||
}
|
||||
}
|
||||
ASSOC_TYPE_ARG => SymbolKind::TypeAlias.into(),
|
||||
USE_BOUND_GENERIC_ARG => SymbolKind::TypeParam.into(),
|
||||
_ => default.into(),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,14 +45,13 @@ pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd
|
|||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">fn</span><span class="none injected"> </span><span class="function declaration injected">test</span><span class="parenthesis injected">(</span><span class="parenthesis injected">)</span><span class="none injected"> </span><span class="brace injected">{</span><span class="brace injected">}</span>
|
||||
<span class="comment documentation">//! ```</span>
|
||||
|
||||
<span class="comment documentation">//! Syntactic name ref highlighting testing</span>
|
||||
<span class="comment documentation">//! ```rust</span>
|
||||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">extern</span><span class="none injected"> </span><span class="keyword injected">crate</span><span class="none injected"> </span><span class="self_keyword crate_root injected">self</span><span class="semicolon injected">;</span>
|
||||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">extern</span><span class="none injected"> </span><span class="keyword injected">crate</span><span class="none injected"> </span><span class="module crate_root injected">std</span><span class="semicolon injected">;</span>
|
||||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">extern</span><span class="none injected"> </span><span class="keyword injected">crate</span><span class="none injected"> </span><span class="module crate_root injected">other</span><span class="none injected"> </span><span class="keyword injected">as</span><span class="none injected"> </span><span class="module crate_root declaration injected">otter</span><span class="semicolon injected">;</span>
|
||||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">extern</span><span class="none injected"> </span><span class="keyword injected">crate</span><span class="none injected"> </span><span class="module crate_root injected">core</span><span class="semicolon injected">;</span>
|
||||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">extern</span><span class="none injected"> </span><span class="keyword injected">crate</span><span class="none injected"> </span><span class="module crate_root injected">alloc</span><span class="semicolon injected">;</span>
|
||||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">extern</span><span class="none injected"> </span><span class="keyword injected">crate</span><span class="none injected"> </span><span class="module crate_root injected">proc_macro</span><span class="semicolon injected">;</span>
|
||||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">extern</span><span class="none injected"> </span><span class="keyword injected">crate</span><span class="none injected"> </span><span class="module crate_root injected">test</span><span class="semicolon injected">;</span>
|
||||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">extern</span><span class="none injected"> </span><span class="keyword injected">crate</span><span class="none injected"> </span><span class="module crate_root injected">Krate</span><span class="semicolon injected">;</span>
|
||||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">trait</span><span class="none injected"> </span><span class="trait declaration injected">T</span><span class="none injected"> </span><span class="brace injected">{</span><span class="none injected"> </span><span class="keyword injected">type</span><span class="none injected"> </span><span class="type_alias associated declaration injected static trait">Assoc</span><span class="semicolon injected">;</span><span class="none injected"> </span><span class="brace injected">}</span>
|
||||
<span class="comment documentation">//!</span><span class="comment documentation"> </span><span class="keyword injected">fn</span><span class="none injected"> </span><span class="function declaration injected">f</span><span class="angle injected"><</span><span class="type_param declaration injected">Arg</span><span class="angle injected">></span><span class="parenthesis injected">(</span><span class="parenthesis injected">)</span><span class="none injected"> </span><span class="operator injected">-></span><span class="none injected"> </span><span class="keyword injected">use</span><span class="angle injected"><</span><span class="struct injected">Arg</span><span class="angle injected">></span><span class="none injected"> </span><span class="keyword injected">where</span><span class="none injected"> </span><span class="parenthesis injected">(</span><span class="parenthesis injected">)</span><span class="colon injected">:</span><span class="none injected"> </span><span class="trait injected">T</span><span class="comparison injected"><</span><span class="struct injected">Assoc</span><span class="none injected"> </span><span class="operator injected">=</span><span class="none injected"> </span><span class="parenthesis injected">(</span><span class="parenthesis injected">)</span><span class="comparison injected">></span><span class="none injected"> </span><span class="brace injected">{</span><span class="brace injected">}</span>
|
||||
<span class="comment documentation">//! ```</span>
|
||||
<span class="keyword">mod</span> <span class="module declaration">outline_module</span><span class="semicolon">;</span>
|
||||
|
||||
|
|
|
|||
|
|
@ -739,14 +739,13 @@ fn test_highlight_doc_comment() {
|
|||
//! fn test() {}
|
||||
//! ```
|
||||
|
||||
//! Syntactic name ref highlighting testing
|
||||
//! ```rust
|
||||
//! extern crate self;
|
||||
//! extern crate std;
|
||||
//! extern crate other as otter;
|
||||
//! extern crate core;
|
||||
//! extern crate alloc;
|
||||
//! extern crate proc_macro;
|
||||
//! extern crate test;
|
||||
//! extern crate Krate;
|
||||
//! trait T { type Assoc; }
|
||||
//! fn f<Arg>() -> use<Arg> where (): T<Assoc = ()> {}
|
||||
//! ```
|
||||
mod outline_module;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue