mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 12:29:21 +00:00
generalize highlighting to work with nodes
This commit is contained in:
parent
f1e8ebfbeb
commit
862c99d0d5
2 changed files with 5 additions and 5 deletions
|
@ -79,11 +79,11 @@ pub fn matching_brace(file: &SourceFileNode, offset: TextUnit) -> Option<TextUni
|
|||
Some(matching_node.range().start())
|
||||
}
|
||||
|
||||
pub fn highlight(file: &SourceFileNode) -> Vec<HighlightedRange> {
|
||||
pub fn highlight(root: SyntaxNodeRef) -> Vec<HighlightedRange> {
|
||||
// Visited nodes to handle highlighting priorities
|
||||
let mut highlighted = FxHashSet::default();
|
||||
let mut res = Vec::new();
|
||||
for node in file.syntax().descendants() {
|
||||
for node in root.descendants() {
|
||||
if highlighted.contains(&node) {
|
||||
continue;
|
||||
}
|
||||
|
@ -178,7 +178,7 @@ fn main() {}
|
|||
println!("Hello, {}!", 92);
|
||||
"#,
|
||||
);
|
||||
let hls = highlight(&file);
|
||||
let hls = highlight(file.syntax());
|
||||
assert_eq_dbg(
|
||||
r#"[HighlightedRange { range: [1; 11), tag: "comment" },
|
||||
HighlightedRange { range: [12; 14), tag: "keyword" },
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue