aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/syntax_highlighting/injection.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-06-24 06:22:23 +0100
committerGitHub <[email protected]>2020-06-24 06:22:23 +0100
commitc544f9a137bd675fd6e9cc4c244ff4366ededb50 (patch)
treedbf501f61f5e77234901aff49ebd2a0bbf5ae4cd /crates/ra_ide/src/syntax_highlighting/injection.rs
parent471d44e72c54882cff2e00c662ee74d8c7c94234 (diff)
parent0d87eee3a9d3950cd02a80bf3974b4b165c5a76c (diff)
Merge #4940
4940: Add support for marking doctest items as distinct from normal code r=ltentrup a=Nashenas88 This adds `HighlightTag::Generic | HighlightModifier::Injected` as the default highlight for all elements within a doctest. Please feel free to suggest that a new tag be created or a different one used. ![Screenshot from 2020-06-23 09-18-13](https://user-images.githubusercontent.com/1673130/85408493-9752ce00-b532-11ea-94fe-197353ccc778.png) Fixes #4929 Fixes #4939 Co-authored-by: Paul Daniel Faria <[email protected]> Co-authored-by: Paul Daniel Faria <[email protected]>
Diffstat (limited to 'crates/ra_ide/src/syntax_highlighting/injection.rs')
-rw-r--r--crates/ra_ide/src/syntax_highlighting/injection.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/crates/ra_ide/src/syntax_highlighting/injection.rs b/crates/ra_ide/src/syntax_highlighting/injection.rs
index 9d82b4009..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};
8use stdx::SepBy; 8use stdx::SepBy;
9 9
10use crate::{ 10use crate::{
11 call_info::ActiveParameter, Analysis, HighlightModifier, HighlightTag, HighlightedRange, 11 call_info::ActiveParameter, Analysis, Highlight, HighlightModifier, HighlightTag,
12 RootDatabase, 12 HighlightedRange, RootDatabase,
13}; 13};
14 14
15use super::HighlightedRangeStack; 15use super::HighlightedRangeStack;
@@ -172,6 +172,7 @@ pub(super) fn highlight_doc_comment(
172 h.range.end() + end_offset.unwrap_or(start_offset) - h.range.start(), 172 h.range.end() + end_offset.unwrap_or(start_offset) - h.range.start(),
173 ); 173 );
174 174
175 h.highlight |= HighlightModifier::Injected;
175 stack.add(h); 176 stack.add(h);
176 } 177 }
177 } 178 }
@@ -181,6 +182,7 @@ pub(super) fn highlight_doc_comment(
181 for comment in new_comments { 182 for comment in new_comments {
182 stack.add(comment); 183 stack.add(comment);
183 } 184 }
184 stack.pop_and_inject(false); 185 stack.pop_and_inject(None);
185 stack.pop_and_inject(true); 186 stack
187 .pop_and_inject(Some(Highlight::from(HighlightTag::Generic) | HighlightModifier::Injected));
186} 188}