From 2a56323537442958008d0fddd78e33df425b11a9 Mon Sep 17 00:00:00 2001 From: Paul Daniel Faria Date: Tue, 23 Jun 2020 09:17:53 -0400 Subject: Update injection mechanism and stop injecting through highlight element, switch to more general new highlight tag, generic --- crates/ra_ide/src/syntax_highlighting/html.rs | 2 +- crates/ra_ide/src/syntax_highlighting/injection.rs | 12 ++++++------ crates/ra_ide/src/syntax_highlighting/tags.rs | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) (limited to 'crates/ra_ide/src/syntax_highlighting') diff --git a/crates/ra_ide/src/syntax_highlighting/html.rs b/crates/ra_ide/src/syntax_highlighting/html.rs index 2a27c81dd..0c74f7370 100644 --- a/crates/ra_ide/src/syntax_highlighting/html.rs +++ b/crates/ra_ide/src/syntax_highlighting/html.rs @@ -19,7 +19,7 @@ pub(crate) fn highlight_as_html(db: &RootDatabase, file_id: FileId, rainbow: boo ) } - let ranges = highlight(db, file_id, None, false, false); + let ranges = highlight(db, file_id, None, false); let text = parse.tree().syntax().to_string(); let mut prev_pos = TextSize::from(0); let mut buf = String::new(); diff --git a/crates/ra_ide/src/syntax_highlighting/injection.rs b/crates/ra_ide/src/syntax_highlighting/injection.rs index 8c724af5b..181c21256 100644 --- a/crates/ra_ide/src/syntax_highlighting/injection.rs +++ b/crates/ra_ide/src/syntax_highlighting/injection.rs @@ -8,8 +8,8 @@ use ra_syntax::{ast, AstToken, SyntaxNode, SyntaxToken, TextRange, TextSize}; use stdx::SepBy; use crate::{ - call_info::ActiveParameter, Analysis, HighlightModifier, HighlightTag, HighlightedRange, - RootDatabase, + call_info::ActiveParameter, Analysis, Highlight, HighlightModifier, HighlightTag, + HighlightedRange, RootDatabase, }; use super::HighlightedRangeStack; @@ -150,8 +150,7 @@ pub(super) fn highlight_doc_comment( let (analysis, tmp_file_id) = Analysis::from_single_file(text); stack.push(); - for mut h in analysis.with_db(|db| super::highlight(db, tmp_file_id, None, true, true)).unwrap() - { + for mut h in analysis.with_db(|db| super::highlight(db, tmp_file_id, None, true)).unwrap() { // Determine start offset and end offset in case of multi-line ranges let mut start_offset = None; let mut end_offset = None; @@ -183,6 +182,7 @@ pub(super) fn highlight_doc_comment( for comment in new_comments { stack.add(comment); } - stack.pop_and_inject(false); - stack.pop_and_inject(true); + stack.pop_and_inject(None); + stack + .pop_and_inject(Some(Highlight::from(HighlightTag::Generic) | HighlightModifier::Injected)); } diff --git a/crates/ra_ide/src/syntax_highlighting/tags.rs b/crates/ra_ide/src/syntax_highlighting/tags.rs index 7f8e91e8d..e8e251cfc 100644 --- a/crates/ra_ide/src/syntax_highlighting/tags.rs +++ b/crates/ra_ide/src/syntax_highlighting/tags.rs @@ -27,13 +27,13 @@ pub enum HighlightTag { Field, FormatSpecifier, Function, + Generic, Keyword, Lifetime, Macro, Module, NumericLiteral, Operator, - Punctuation, SelfKeyword, SelfType, Static, @@ -79,13 +79,13 @@ impl HighlightTag { HighlightTag::Field => "field", HighlightTag::FormatSpecifier => "format_specifier", HighlightTag::Function => "function", + HighlightTag::Generic => "generic", HighlightTag::Keyword => "keyword", HighlightTag::Lifetime => "lifetime", HighlightTag::Macro => "macro", HighlightTag::Module => "module", HighlightTag::NumericLiteral => "numeric_literal", HighlightTag::Operator => "operator", - HighlightTag::Punctuation => "punctuation", HighlightTag::SelfKeyword => "self_keyword", HighlightTag::SelfType => "self_type", HighlightTag::Static => "static", -- cgit v1.2.3