mirror of
				https://github.com/rust-lang/rust-analyzer.git
				synced 2025-10-29 19:17:12 +00:00 
			
		
		
		
	Add modifiers to highlighting for extern crate
This commit is contained in:
		
							parent
							
								
									de77d7f661
								
							
						
					
					
						commit
						535338d8bb
					
				
					 3 changed files with 31 additions and 2 deletions
				
			
		|  | @ -703,7 +703,24 @@ fn highlight_name_ref_by_syntax( | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     match parent.kind() { |     match parent.kind() { | ||||||
|         EXTERN_CRATE => HlTag::Symbol(SymbolKind::Module).into(), |         EXTERN_CRATE => { | ||||||
|  |             let mut h: Highlight = HlTag::Symbol(SymbolKind::Module).into(); | ||||||
|  |             let is_crate_root = if let Some(extern_crate) = ast::ExternCrate::cast(parent.clone()) { | ||||||
|  |                 if let Some(first_segment) = extern_crate.name_ref() { | ||||||
|  |                     first_segment.syntax().text() == name.syntax().text() | ||||||
|  |                 } else { | ||||||
|  |                     false | ||||||
|  |                 } | ||||||
|  |             } else { | ||||||
|  |                 false | ||||||
|  |             }; | ||||||
|  | 
 | ||||||
|  |             if is_crate_root { | ||||||
|  |                 h |= HlMod::CrateRoot; | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             h | HlMod::Library | ||||||
|  |         }, | ||||||
|         METHOD_CALL_EXPR => ast::MethodCallExpr::cast(parent) |         METHOD_CALL_EXPR => ast::MethodCallExpr::cast(parent) | ||||||
|             .and_then(|it| highlight_method_call(sema, krate, &it, edition)) |             .and_then(|it| highlight_method_call(sema, krate, &it, edition)) | ||||||
|             .unwrap_or_else(|| SymbolKind::Method.into()), |             .unwrap_or_else(|| SymbolKind::Method.into()), | ||||||
|  |  | ||||||
|  | @ -51,7 +51,13 @@ pre                 { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd | ||||||
| <span class="comment documentation">//! ```</span> | <span class="comment documentation">//! ```</span> | ||||||
| 
 | 
 | ||||||
| <span class="comment documentation">//! ```rust</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="module injected">Krate</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="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 library">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 library">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 library">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 library">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 library">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 library">Krate</span><span class="semicolon injected">;</span> | ||||||
| <span class="comment documentation">//! ```</span> | <span class="comment documentation">//! ```</span> | ||||||
| <span class="keyword">mod</span> <span class="module declaration">outline_module</span><span class="semicolon">;</span> | <span class="keyword">mod</span> <span class="module declaration">outline_module</span><span class="semicolon">;</span> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -723,6 +723,12 @@ fn test_highlight_doc_comment() { | ||||||
| //! ```
 | //! ```
 | ||||||
| 
 | 
 | ||||||
| //! ```rust
 | //! ```rust
 | ||||||
|  | //! extern crate self;
 | ||||||
|  | //! extern crate std;
 | ||||||
|  | //! extern crate core;
 | ||||||
|  | //! extern crate alloc;
 | ||||||
|  | //! extern crate proc_macro;
 | ||||||
|  | //! extern crate test;
 | ||||||
| //! extern crate Krate;
 | //! extern crate Krate;
 | ||||||
| //! ```
 | //! ```
 | ||||||
| mod outline_module; | mod outline_module; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 asuto15
						asuto15