]> git.lizzy.rs Git - rust.git/blob - crates/ide/src/syntax_highlighting/escape.rs
Code blocks with tilde also works like code block
[rust.git] / crates / ide / src / syntax_highlighting / escape.rs
1 //! Syntax highlighting for escape sequences
2 use crate::syntax_highlighting::highlights::Highlights;
3 use crate::{HlRange, HlTag};
4 use syntax::ast::IsString;
5 use syntax::TextSize;
6
7 pub(super) fn highlight_escape_string<T: IsString>(
8     stack: &mut Highlights,
9     string: &T,
10     start: TextSize,
11 ) {
12     string.escaped_char_ranges(&mut |piece_range, char| {
13         if char.is_err() {
14             return;
15         }
16
17         if string.text()[piece_range.start().into()..].starts_with('\\') {
18             stack.add(HlRange {
19                 range: piece_range + start,
20                 highlight: HlTag::EscapeSequence.into(),
21                 binding_hash: None,
22             });
23         }
24     });
25 }