Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/syntax_highlighting/highlights.rs')
-rw-r--r--crates/ide/src/syntax_highlighting/highlights.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/crates/ide/src/syntax_highlighting/highlights.rs b/crates/ide/src/syntax_highlighting/highlights.rs
index 340290eafe..6fe4d08443 100644
--- a/crates/ide/src/syntax_highlighting/highlights.rs
+++ b/crates/ide/src/syntax_highlighting/highlights.rs
@@ -4,7 +4,7 @@ use std::iter;
use stdx::equal_range_by;
use syntax::TextRange;
-use crate::{HlRange, HlTag};
+use crate::{HighlightConfig, HlRange, HlTag};
pub(super) struct Highlights {
root: Node,
@@ -26,6 +26,12 @@ impl Highlights {
self.root.add(hl_range);
}
+ pub(super) fn add_with(&mut self, config: &HighlightConfig<'_>, mut hl_range: HlRange) {
+ if super::filter_by_config(&mut hl_range.highlight, config) {
+ self.root.add(hl_range);
+ }
+ }
+
pub(super) fn to_vec(&self) -> Vec<HlRange> {
let mut res = Vec::new();
self.root.flatten(&mut res);