From d4fb7476efc8bf956c56ba2b0e946f48f38a6efc Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 9 Jan 2021 15:18:49 +0300 Subject: Better names --- crates/ide/src/syntax_highlighting.rs | 16 ++++++++-------- crates/ide/src/syntax_highlighting/html.rs | 16 ++++++++-------- crates/ide/src/syntax_highlighting/injection.rs | 15 ++++++++------- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/crates/ide/src/syntax_highlighting.rs b/crates/ide/src/syntax_highlighting.rs index 8bb7acb82..3ba91b3f5 100644 --- a/crates/ide/src/syntax_highlighting.rs +++ b/crates/ide/src/syntax_highlighting.rs @@ -74,7 +74,7 @@ pub(crate) fn highlight( }; let mut bindings_shadow_count: FxHashMap = FxHashMap::default(); - let mut stack = highlights::Highlights::new(range_to_highlight); + let mut hl = highlights::Highlights::new(range_to_highlight); let mut current_macro_call: Option = None; let mut current_macro_rules: Option = None; @@ -98,7 +98,7 @@ pub(crate) fn highlight( match event.clone().map(|it| it.into_node().and_then(ast::MacroCall::cast)) { WalkEvent::Enter(Some(mc)) => { if let Some(range) = macro_call_range(&mc) { - stack.add(HlRange { + hl.add(HlRange { range, highlight: HlTag::Symbol(SymbolKind::Macro).into(), binding_hash: None, @@ -136,7 +136,7 @@ pub(crate) fn highlight( inside_attribute = false } if let Some((new_comments, inj)) = injection::extract_doc_comments(node) { - injection::highlight_doc_comment(new_comments, inj, &mut stack); + injection::highlight_doc_comment(new_comments, inj, &mut hl); } } WalkEvent::Enter(NodeOrToken::Node(node)) if ast::Attr::can_cast(node.kind()) => { @@ -181,7 +181,7 @@ pub(crate) fn highlight( if let Some(token) = element.as_token().cloned().and_then(ast::String::cast) { if token.is_raw() { let expanded = element_to_highlight.as_token().unwrap().clone(); - if injection::highlight_injection(&mut stack, &sema, token, expanded).is_some() { + if injection::highlight_injection(&mut hl, &sema, token, expanded).is_some() { continue; } } @@ -198,18 +198,18 @@ pub(crate) fn highlight( } if macro_rules_highlighter.highlight(element_to_highlight.clone()).is_none() { - stack.add(HlRange { range, highlight, binding_hash }); + hl.add(HlRange { range, highlight, binding_hash }); } if let Some(string) = element_to_highlight.as_token().cloned().and_then(ast::String::cast) { - format_string_highlighter.highlight_format_string(&mut stack, &string, range); + format_string_highlighter.highlight_format_string(&mut hl, &string, range); // Highlight escape sequences if let Some(char_ranges) = string.char_ranges() { for (piece_range, _) in char_ranges.iter().filter(|(_, char)| char.is_ok()) { if string.text()[piece_range.start().into()..].starts_with('\\') { - stack.add(HlRange { + hl.add(HlRange { range: piece_range + range.start(), highlight: HlTag::EscapeSequence.into(), binding_hash: None, @@ -221,7 +221,7 @@ pub(crate) fn highlight( } } - stack.to_vec() + hl.to_vec() } fn macro_call_range(macro_call: &ast::MacroCall) -> Option { diff --git a/crates/ide/src/syntax_highlighting/html.rs b/crates/ide/src/syntax_highlighting/html.rs index 44f611b25..0ee7bc96e 100644 --- a/crates/ide/src/syntax_highlighting/html.rs +++ b/crates/ide/src/syntax_highlighting/html.rs @@ -20,26 +20,26 @@ pub(crate) fn highlight_as_html(db: &RootDatabase, file_id: FileId, rainbow: boo ) } - let ranges = highlight(db, file_id, None, false); + let hl_ranges = highlight(db, file_id, None, false); let text = parse.tree().syntax().to_string(); let mut buf = String::new(); buf.push_str(&STYLE); buf.push_str("
");
-    for range in &ranges {
-        let curr = &text[range.range];
-        if range.highlight.is_empty() {
-            format_to!(buf, "{}", html_escape(curr));
+    for r in &hl_ranges {
+        let chunk = html_escape(&text[r.range]);
+        if r.highlight.is_empty() {
+            format_to!(buf, "{}", chunk);
             continue;
         }
 
-        let class = range.highlight.to_string().replace('.', " ");
-        let color = match (rainbow, range.binding_hash) {
+        let class = r.highlight.to_string().replace('.', " ");
+        let color = match (rainbow, r.binding_hash) {
             (true, Some(hash)) => {
                 format!(" data-binding-hash=\"{}\" style=\"color: {};\"", hash, rainbowify(hash))
             }
             _ => "".into(),
         };
-        format_to!(buf, "{}", class, color, html_escape(curr));
+        format_to!(buf, "{}", class, color, chunk);
     }
     buf.push_str("
"); buf diff --git a/crates/ide/src/syntax_highlighting/injection.rs b/crates/ide/src/syntax_highlighting/injection.rs index 13dde1dc4..22d7f601a 100644 --- a/crates/ide/src/syntax_highlighting/injection.rs +++ b/crates/ide/src/syntax_highlighting/injection.rs @@ -12,7 +12,7 @@ use crate::{Analysis, HlMod, HlRange, HlTag, RootDatabase}; use super::{highlights::Highlights, injector::Injector}; pub(super) fn highlight_injection( - acc: &mut Highlights, + hl: &mut Highlights, sema: &Semantics, literal: ast::String, expanded: SyntaxToken, @@ -21,24 +21,25 @@ pub(super) fn highlight_injection( if !active_parameter.name.starts_with("ra_fixture") { return None; } + let value = literal.value()?; let marker_info = MarkerInfo::new(&*value); let (analysis, tmp_file_id) = Analysis::from_single_file(marker_info.cleaned_text.clone()); if let Some(range) = literal.open_quote_text_range() { - acc.add(HlRange { range, highlight: HlTag::StringLiteral.into(), binding_hash: None }) + hl.add(HlRange { range, highlight: HlTag::StringLiteral.into(), binding_hash: None }) } - for mut h in analysis.highlight(tmp_file_id).unwrap() { - let range = marker_info.map_range_up(h.range); + for mut hl_range in analysis.highlight(tmp_file_id).unwrap() { + let range = marker_info.map_range_up(hl_range.range); if let Some(range) = literal.map_range_up(range) { - h.range = range; - acc.add(h); + hl_range.range = range; + hl.add(hl_range); } } if let Some(range) = literal.close_quote_text_range() { - acc.add(HlRange { range, highlight: HlTag::StringLiteral.into(), binding_hash: None }) + hl.add(HlRange { range, highlight: HlTag::StringLiteral.into(), binding_hash: None }) } Some(()) -- cgit v1.2.3