(&mut self, start: usize, prefix_end: usize)
| 190 | // F-strings: emits Start/Middle/End and suspends at `{`. |
| 191 | |
| 192 | fn start_fstring(&mut self, start: usize, prefix_end: usize) { |
| 193 | let quote = self.src[prefix_end]; |
| 194 | let triple = self.src.get(prefix_end + 1) == Some("e) && self.src.get(prefix_end + 2) == Some("e); |
| 195 | let quote_len = if triple { 3 } else { 1 }; |
| 196 | self.pos = prefix_end + quote_len; |
| 197 | let body_start = self.pos; |
| 198 | self.scan_fstring_body(quote, triple, body_start); |
| 199 | self.pending.push((TokenType::FstringStart, self.line, start, body_start)); |
| 200 | } |
| 201 | |
| 202 | fn scan_fstring_body(&mut self, quote: u8, triple: bool, body_start: usize) { |
| 203 | let ql: usize = if triple { 3 } else { 1 }; |
no test coverage detected