diff options
Diffstat (limited to 'crates/ra_analysis/src/syntax_highlighting.rs')
-rw-r--r-- | crates/ra_analysis/src/syntax_highlighting.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/crates/ra_analysis/src/syntax_highlighting.rs b/crates/ra_analysis/src/syntax_highlighting.rs index d2dc6cfbb..cb19e9515 100644 --- a/crates/ra_analysis/src/syntax_highlighting.rs +++ b/crates/ra_analysis/src/syntax_highlighting.rs | |||
@@ -1,22 +1,21 @@ | |||
1 | use ra_syntax::{ast, AstNode,}; | 1 | use ra_syntax::{ast, AstNode,}; |
2 | use ra_editor::HighlightedRange; | ||
3 | use ra_db::SyntaxDatabase; | 2 | use ra_db::SyntaxDatabase; |
4 | 3 | ||
5 | use crate::{ | 4 | use crate::{ |
5 | FileId, Cancelable, HighlightedRange, | ||
6 | db::RootDatabase, | 6 | db::RootDatabase, |
7 | FileId, Cancelable, | ||
8 | }; | 7 | }; |
9 | 8 | ||
10 | pub(crate) fn highlight(db: &RootDatabase, file_id: FileId) -> Cancelable<Vec<HighlightedRange>> { | 9 | pub(crate) fn highlight(db: &RootDatabase, file_id: FileId) -> Cancelable<Vec<HighlightedRange>> { |
11 | let source_file = db.source_file(file_id); | 10 | let source_file = db.source_file(file_id); |
12 | let mut res = ra_editor::highlight(source_file.syntax()); | 11 | let mut res = ra_ide_api_light::highlight(source_file.syntax()); |
13 | for macro_call in source_file | 12 | for macro_call in source_file |
14 | .syntax() | 13 | .syntax() |
15 | .descendants() | 14 | .descendants() |
16 | .filter_map(ast::MacroCall::cast) | 15 | .filter_map(ast::MacroCall::cast) |
17 | { | 16 | { |
18 | if let Some((off, exp)) = hir::MacroDef::ast_expand(macro_call) { | 17 | if let Some((off, exp)) = hir::MacroDef::ast_expand(macro_call) { |
19 | let mapped_ranges = ra_editor::highlight(&exp.syntax()) | 18 | let mapped_ranges = ra_ide_api_light::highlight(&exp.syntax()) |
20 | .into_iter() | 19 | .into_iter() |
21 | .filter_map(|r| { | 20 | .filter_map(|r| { |
22 | let mapped_range = exp.map_range_back(r.range)?; | 21 | let mapped_range = exp.map_range_back(r.range)?; |