mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-04 02:39:12 +00:00
Track casing of r-string prefixes in the tokenizer and AST (#10314)
Co-authored-by: Micha Reiser <micha@reiser.io>
This commit is contained in:
parent
31db1b6e16
commit
162d2eb723
105 changed files with 1068 additions and 503 deletions
|
@ -34,7 +34,7 @@ use std::{char, cmp::Ordering, str::FromStr};
|
|||
use unicode_ident::{is_xid_continue, is_xid_start};
|
||||
use unicode_normalization::UnicodeNormalization;
|
||||
|
||||
use ruff_python_ast::{Int, IpyEscapeKind};
|
||||
use ruff_python_ast::{FStringPrefix, Int, IpyEscapeKind};
|
||||
use ruff_text_size::{TextLen, TextRange, TextSize};
|
||||
|
||||
use crate::lexer::cursor::{Cursor, EOF_CHAR};
|
||||
|
@ -175,24 +175,29 @@ impl<'source> Lexer<'source> {
|
|||
match (first, self.cursor.first()) {
|
||||
('f' | 'F', quote @ ('\'' | '"')) => {
|
||||
self.cursor.bump();
|
||||
return Ok(self.lex_fstring_start(quote, false));
|
||||
return Ok(self.lex_fstring_start(quote, FStringPrefix::Regular));
|
||||
}
|
||||
('r' | 'R', 'f' | 'F') | ('f' | 'F', 'r' | 'R') if is_quote(self.cursor.second()) => {
|
||||
('r', 'f' | 'F') | ('f' | 'F', 'r') if is_quote(self.cursor.second()) => {
|
||||
self.cursor.bump();
|
||||
let quote = self.cursor.bump().unwrap();
|
||||
return Ok(self.lex_fstring_start(quote, true));
|
||||
return Ok(self.lex_fstring_start(quote, FStringPrefix::Raw { uppercase_r: false }));
|
||||
}
|
||||
('R', 'f' | 'F') | ('f' | 'F', 'R') if is_quote(self.cursor.second()) => {
|
||||
self.cursor.bump();
|
||||
let quote = self.cursor.bump().unwrap();
|
||||
return Ok(self.lex_fstring_start(quote, FStringPrefix::Raw { uppercase_r: true }));
|
||||
}
|
||||
(_, quote @ ('\'' | '"')) => {
|
||||
if let Ok(prefix) = StringPrefix::try_from(first) {
|
||||
self.cursor.bump();
|
||||
return self.lex_string(Some(prefix), quote);
|
||||
return self.lex_string(prefix, quote);
|
||||
}
|
||||
}
|
||||
(_, second @ ('r' | 'R' | 'b' | 'B')) if is_quote(self.cursor.second()) => {
|
||||
self.cursor.bump();
|
||||
if let Ok(prefix) = StringPrefix::try_from([first, second]) {
|
||||
let quote = self.cursor.bump().unwrap();
|
||||
return self.lex_string(Some(prefix), quote);
|
||||
return self.lex_string(prefix, quote);
|
||||
}
|
||||
}
|
||||
_ => {}
|
||||
|
@ -551,15 +556,11 @@ impl<'source> Lexer<'source> {
|
|||
}
|
||||
|
||||
/// Lex a f-string start token.
|
||||
fn lex_fstring_start(&mut self, quote: char, is_raw_string: bool) -> Tok {
|
||||
fn lex_fstring_start(&mut self, quote: char, prefix: FStringPrefix) -> Tok {
|
||||
#[cfg(debug_assertions)]
|
||||
debug_assert_eq!(self.cursor.previous(), quote);
|
||||
|
||||
let mut kind = StringKind::from_prefix(Some(if is_raw_string {
|
||||
StringPrefix::RawFormat
|
||||
} else {
|
||||
StringPrefix::Format
|
||||
}));
|
||||
let mut kind = StringKind::from_prefix(StringPrefix::Format(prefix));
|
||||
|
||||
if quote == '"' {
|
||||
kind = kind.with_double_quotes();
|
||||
|
@ -707,11 +708,7 @@ impl<'source> Lexer<'source> {
|
|||
}
|
||||
|
||||
/// Lex a string literal.
|
||||
fn lex_string(
|
||||
&mut self,
|
||||
prefix: Option<StringPrefix>,
|
||||
quote: char,
|
||||
) -> Result<Tok, LexicalError> {
|
||||
fn lex_string(&mut self, prefix: StringPrefix, quote: char) -> Result<Tok, LexicalError> {
|
||||
#[cfg(debug_assertions)]
|
||||
debug_assert_eq!(self.cursor.previous(), quote);
|
||||
|
||||
|
@ -1085,7 +1082,7 @@ impl<'source> Lexer<'source> {
|
|||
c if is_ascii_identifier_start(c) => self.lex_identifier(c)?,
|
||||
'0'..='9' => self.lex_number(c)?,
|
||||
'#' => return Ok((self.lex_comment(), self.token_range())),
|
||||
'\'' | '"' => self.lex_string(None, c)?,
|
||||
'\'' | '"' => self.lex_string(StringPrefix::default(), c)?,
|
||||
'=' => {
|
||||
if self.cursor.eat_char('=') {
|
||||
Tok::EqEqual
|
||||
|
|
|
@ -21,7 +21,7 @@ Ok(
|
|||
value: "foo",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -21,7 +23,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -31,7 +35,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -45,7 +51,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -60,7 +68,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -70,7 +80,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -84,7 +96,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
|
|
@ -7,7 +7,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "\\N{EN SPACE}",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "normal ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -42,7 +46,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " {another} ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -67,7 +73,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " {",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -92,7 +100,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "}",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\n# not a comment ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -56,7 +60,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " # not a comment\n",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -41,7 +43,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -80,7 +84,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -105,7 +111,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: ".3f!r",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -120,7 +128,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " {x!r}",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -42,7 +46,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\\"\\",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -71,7 +77,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " \\\"\\\"\\\n end",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -45,7 +49,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -56,7 +62,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\\\",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -84,7 +92,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -95,7 +105,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\{foo}",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -109,7 +121,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -120,7 +134,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\\\{foo}",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,11 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -17,7 +21,11 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\",
|
||||
kind: StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -42,7 +50,11 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\\"\\",
|
||||
kind: StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -71,7 +83,11 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " \\\"\\\"\\\n end",
|
||||
kind: StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "first ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -68,7 +72,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " second",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\nhello\n world\n",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -31,7 +35,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -42,7 +48,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\n world\nhello\n",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -56,7 +64,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -67,7 +77,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "some ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -81,7 +93,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -92,7 +106,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "multiline\nallowed ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -125,7 +141,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " string",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\N{BULLET} normal \\Nope \\N",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,11 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -17,7 +21,11 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\N",
|
||||
kind: StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -42,7 +50,11 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " normal",
|
||||
kind: StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "foo ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -31,7 +35,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -42,7 +48,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "bar ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -66,7 +74,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -107,7 +117,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " baz",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -121,7 +133,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -132,7 +146,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "foo ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -146,7 +162,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -157,7 +175,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "bar",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -176,7 +196,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " some ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -190,7 +212,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -201,7 +225,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "another",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -28,7 +30,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -39,7 +43,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "{}",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -53,7 +59,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -64,7 +72,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -86,7 +96,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -97,7 +109,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "{",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -116,7 +130,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "}",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -130,7 +146,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -141,7 +159,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "{{}}",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -155,7 +175,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -166,7 +188,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -185,7 +209,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " {} {",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -204,7 +230,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "} {{}} ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -20,7 +22,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -34,7 +38,11 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -48,7 +56,11 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -62,7 +74,11 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: true,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -76,7 +92,11 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: true,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -90,7 +110,11 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -104,7 +128,11 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -118,7 +146,11 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: true,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -132,7 +164,11 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "rf",
|
||||
prefix: Format(
|
||||
Raw {
|
||||
uppercase_r: true,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: fstring_single_quote_escape_eol(MAC_EOL)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: fstring_single_quote_escape_eol(MAC_EOL)
|
|||
FStringMiddle {
|
||||
value: "text \\\r more text",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: fstring_single_quote_escape_eol(UNIX_EOL)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: fstring_single_quote_escape_eol(UNIX_EOL)
|
|||
FStringMiddle {
|
||||
value: "text \\\n more text",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: fstring_single_quote_escape_eol(WINDOWS_EOL)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: fstring_single_quote_escape_eol(WINDOWS_EOL)
|
|||
FStringMiddle {
|
||||
value: "text \\\r\n more text",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -35,7 +37,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -74,7 +78,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: ".3f",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -89,7 +95,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -114,7 +122,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: ".",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -139,7 +149,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "f",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -154,7 +166,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -169,7 +183,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -184,7 +200,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "*^",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -231,7 +249,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "foo ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -46,7 +50,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " bar",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -60,7 +62,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "__",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -46,7 +50,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "d\n",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -61,7 +67,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "__",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -79,7 +87,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -90,7 +100,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "__",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -119,7 +131,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "a\n b\n c\n",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -134,7 +148,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "__",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -152,7 +168,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -163,7 +181,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "__",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -192,7 +212,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "d",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -211,7 +233,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "__",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -229,7 +253,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -240,7 +266,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "__",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -269,7 +297,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "a",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -298,7 +328,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "__",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -31,7 +33,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "=10",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -46,7 +50,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -89,7 +95,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -142,7 +150,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: " ",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -6,7 +6,9 @@ expression: lex_source(source)
|
|||
(
|
||||
FStringStart(
|
||||
StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -17,7 +19,9 @@ expression: lex_source(source)
|
|||
FStringMiddle {
|
||||
value: "\\0",
|
||||
kind: StringKind {
|
||||
prefix: "f",
|
||||
prefix: Format(
|
||||
Regular,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
|
|
@ -15,7 +15,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "a",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -30,7 +32,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "b",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -49,7 +53,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "c",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -60,7 +66,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "d",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
|
|
@ -7,7 +7,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "double",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -18,7 +20,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "single",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -29,7 +33,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "can\\'t",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -40,7 +46,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "\\\\\\\"",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
@ -51,7 +59,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "\\t\\r\\n",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -62,7 +72,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "\\g",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -73,7 +85,11 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "raw\\'",
|
||||
kind: StringKind {
|
||||
prefix: "r",
|
||||
prefix: Regular(
|
||||
Raw {
|
||||
uppercase: false,
|
||||
},
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -84,7 +100,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "\\420",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
@ -95,7 +113,9 @@ expression: lex_source(source)
|
|||
String {
|
||||
value: "\\200\\0a",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Single,
|
||||
},
|
||||
|
|
|
@ -7,7 +7,9 @@ expression: string_continuation_with_eol(MAC_EOL)
|
|||
String {
|
||||
value: "abc\\\rdef",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -7,7 +7,9 @@ expression: string_continuation_with_eol(UNIX_EOL)
|
|||
String {
|
||||
value: "abc\\\ndef",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -7,7 +7,9 @@ expression: string_continuation_with_eol(WINDOWS_EOL)
|
|||
String {
|
||||
value: "abc\\\r\ndef",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: false,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -7,7 +7,9 @@ expression: triple_quoted_eol(MAC_EOL)
|
|||
String {
|
||||
value: "\r test string\r ",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -7,7 +7,9 @@ expression: triple_quoted_eol(UNIX_EOL)
|
|||
String {
|
||||
value: "\n test string\n ",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -7,7 +7,9 @@ expression: triple_quoted_eol(WINDOWS_EOL)
|
|||
String {
|
||||
value: "\r\n test string\r\n ",
|
||||
kind: StringKind {
|
||||
prefix: "",
|
||||
prefix: Regular(
|
||||
Empty,
|
||||
),
|
||||
triple_quoted: true,
|
||||
quote_style: Double,
|
||||
},
|
||||
|
|
|
@ -17,7 +17,7 @@ Dict(
|
|||
value: "a",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -38,7 +38,7 @@ Dict(
|
|||
value: "d",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -59,7 +59,7 @@ Dict(
|
|||
value: "b",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -84,7 +84,7 @@ Dict(
|
|||
value: "e",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -28,7 +28,7 @@ expression: parse_ast
|
|||
value: " f",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -44,7 +44,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -85,7 +85,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -136,7 +136,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -201,7 +201,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -254,7 +254,7 @@ expression: parse_ast
|
|||
value: "}",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -281,7 +281,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -334,7 +334,7 @@ expression: parse_ast
|
|||
value: "{",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -361,7 +361,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -407,7 +407,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -465,7 +465,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -511,7 +511,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -575,7 +575,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -646,7 +646,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -675,7 +675,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -706,7 +706,7 @@ expression: parse_ast
|
|||
value: "foo ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -758,7 +758,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -769,7 +769,7 @@ expression: parse_ast
|
|||
value: "baz",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -821,7 +821,7 @@ expression: parse_ast
|
|||
value: "one",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -857,7 +857,7 @@ expression: parse_ast
|
|||
value: "implicitly ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -866,7 +866,7 @@ expression: parse_ast
|
|||
value: "concatenated",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -960,7 +960,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -992,7 +992,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -1045,7 +1045,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: true,
|
||||
},
|
||||
},
|
||||
|
@ -1091,7 +1091,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ expression: parse_ast
|
|||
value: "foo",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "u",
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -45,7 +45,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -56,7 +56,7 @@ expression: parse_ast
|
|||
value: "baz",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -67,7 +67,7 @@ expression: parse_ast
|
|||
value: " some",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -94,7 +94,7 @@ expression: parse_ast
|
|||
value: "foo",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -121,7 +121,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -132,7 +132,7 @@ expression: parse_ast
|
|||
value: "baz",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "u",
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -143,7 +143,7 @@ expression: parse_ast
|
|||
value: " some",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -170,7 +170,7 @@ expression: parse_ast
|
|||
value: "foo",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -197,7 +197,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -208,7 +208,7 @@ expression: parse_ast
|
|||
value: "baz",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -219,7 +219,7 @@ expression: parse_ast
|
|||
value: " some",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "u",
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -246,7 +246,7 @@ expression: parse_ast
|
|||
value: "foo",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "u",
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -285,7 +285,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -296,7 +296,7 @@ expression: parse_ast
|
|||
value: "bar",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "u",
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -307,7 +307,7 @@ expression: parse_ast
|
|||
value: "no",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ Call(
|
|||
value: " ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -83,7 +83,7 @@ Call(
|
|||
value: "LIMIT %d",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -131,7 +131,7 @@ Call(
|
|||
value: "OFFSET %d",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -21,7 +21,7 @@ expression: parse_ast
|
|||
value: "test",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -114,7 +114,7 @@ expression: parse_ast
|
|||
value: "label",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -135,7 +135,7 @@ expression: parse_ast
|
|||
value: "test",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -163,7 +163,7 @@ expression: parse_ast
|
|||
value: "label",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -123,7 +123,7 @@ expression: parse_suite(source).unwrap()
|
|||
value: "default",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -24,7 +24,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -29,7 +29,7 @@ expression: parse_ast
|
|||
value: "positional",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -29,7 +29,7 @@ expression: parse_ast
|
|||
value: "Hello world",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -29,7 +29,7 @@ expression: parse_ast
|
|||
value: "Hello world",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "Hello world",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -88,7 +88,7 @@ expression: parse_suite(source).unwrap()
|
|||
value: "ForwardRefY",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -508,7 +508,7 @@ expression: parse_ast
|
|||
value: "seq",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -547,7 +547,7 @@ expression: parse_ast
|
|||
value: "map",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -848,7 +848,7 @@ expression: parse_ast
|
|||
value: "X",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -1588,7 +1588,7 @@ expression: parse_ast
|
|||
value: "foo",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -2518,7 +2518,7 @@ expression: parse_ast
|
|||
value: "",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -2572,7 +2572,7 @@ expression: parse_ast
|
|||
value: "",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -3200,7 +3200,7 @@ expression: parse_ast
|
|||
value: "X",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -129,7 +129,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -234,7 +234,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -34,7 +34,7 @@ expression: parse_ast
|
|||
value: "eg",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -282,7 +282,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -418,7 +418,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -25,7 +25,7 @@ expression: parse_ast
|
|||
value: "\u{8}another cool trick",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "\u{8}",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "\u{7}",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "\r",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "\u{89}",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "\u{7f}",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -25,7 +25,7 @@ expression: parse_ast
|
|||
value: "\u{3}8[1m",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -273,7 +273,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: BytesLiteralFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "\u{1b}",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -27,7 +27,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: BytesLiteralFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -22,7 +22,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: BytesLiteralFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "\u{c}",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -66,7 +66,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -39,7 +39,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -39,7 +39,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -39,7 +39,9 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: true,
|
||||
prefix: Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -38,7 +38,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -70,7 +70,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -50,7 +50,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -39,7 +39,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: true,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "\u{88}",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -17,7 +17,7 @@ expression: "parse_suite(r#\"f\"\"\"#).unwrap()"
|
|||
elements: [],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ expression: parse_ast
|
|||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -36,7 +36,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ expression: parse_ast
|
|||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -36,7 +36,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ expression: parse_ast
|
|||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -46,7 +46,7 @@ expression: parse_ast
|
|||
value: "!",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -62,7 +62,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ expression: parse_ast
|
|||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -46,7 +46,7 @@ expression: parse_ast
|
|||
value: "!",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -62,7 +62,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -73,7 +73,7 @@ expression: parse_ast
|
|||
value: "again!",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -54,7 +54,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -52,7 +52,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -46,7 +46,7 @@ expression: parse_ast
|
|||
value: "",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -55,7 +55,7 @@ expression: parse_ast
|
|||
value: "",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -79,7 +79,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -54,7 +54,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -44,7 +44,7 @@ expression: parse_ast
|
|||
value: "",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -65,7 +65,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -52,7 +52,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -45,7 +45,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -38,7 +38,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -38,7 +38,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -32,7 +32,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ expression: parse_ast
|
|||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -27,7 +27,7 @@ expression: parse_ast
|
|||
value: "world",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "Hello, world!",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "u",
|
||||
prefix: Unicode,
|
||||
triple_quoted: true,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ expression: parse_ast
|
|||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "u",
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -36,7 +36,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ expression: parse_ast
|
|||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "u",
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -36,7 +36,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -47,7 +47,7 @@ expression: parse_ast
|
|||
value: "!",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ expression: parse_ast
|
|||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -27,7 +27,7 @@ expression: parse_ast
|
|||
value: "world",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "u",
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -18,7 +18,7 @@ expression: parse_ast
|
|||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "u",
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
@ -27,7 +27,7 @@ expression: parse_ast
|
|||
value: "world",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -21,7 +21,9 @@ expression: parse_ast
|
|||
],
|
||||
flags: BytesLiteralFlags {
|
||||
quote_style: Single,
|
||||
raw: true,
|
||||
prefix: Raw {
|
||||
uppercase_r: true,
|
||||
},
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -19,7 +19,9 @@ expression: parse_ast
|
|||
],
|
||||
flags: BytesLiteralFlags {
|
||||
quote_style: Single,
|
||||
raw: true,
|
||||
prefix: Raw {
|
||||
uppercase_r: true,
|
||||
},
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -33,7 +33,9 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: true,
|
||||
prefix: Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -273,7 +273,7 @@ expression: parse_ast
|
|||
],
|
||||
flags: BytesLiteralFlags {
|
||||
quote_style: Single,
|
||||
raw: false,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "text more text",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "text more text",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ expression: parse_ast
|
|||
value: "text more text",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: "",
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -33,7 +33,9 @@ expression: parse_ast
|
|||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Double,
|
||||
raw: true,
|
||||
prefix: Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
triple_quoted: true,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -2,7 +2,7 @@ use std::fmt;
|
|||
|
||||
use bitflags::bitflags;
|
||||
|
||||
use ruff_python_ast::{str::Quote, StringLiteralPrefix};
|
||||
use ruff_python_ast::{str::Quote, ByteStringPrefix, FStringPrefix, StringLiteralPrefix};
|
||||
use ruff_text_size::{TextLen, TextSize};
|
||||
|
||||
bitflags! {
|
||||
|
@ -41,11 +41,18 @@ bitflags! {
|
|||
/// but can have no other prefixes.
|
||||
const F_PREFIX = 1 << 4;
|
||||
|
||||
/// The string has an `r` or `R` prefix, meaning it is a raw string.
|
||||
/// The string has an `r` prefix, meaning it is a raw string.
|
||||
/// F-strings and byte-strings can be raw,
|
||||
/// as can strings with no other prefixes.
|
||||
/// U-strings cannot be raw.
|
||||
const R_PREFIX = 1 << 5;
|
||||
const R_PREFIX_LOWER = 1 << 5;
|
||||
|
||||
/// The string has an `R` prefix, meaning it is a raw string.
|
||||
/// The casing of the `r`/`R` has no semantic significance at runtime;
|
||||
/// see https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html#r-strings-and-r-strings
|
||||
/// for why we track the casing of the `r` prefix,
|
||||
/// but not for any other prefix
|
||||
const R_PREFIX_UPPER = 1 << 6;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -61,41 +68,15 @@ bitflags! {
|
|||
/// [String and Bytes literals]: https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals
|
||||
/// [PEP 701]: https://peps.python.org/pep-0701/
|
||||
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
||||
pub(crate) enum StringPrefix {
|
||||
/// The string has a `u` or `U` prefix.
|
||||
/// While this prefix is a no-op at runtime,
|
||||
/// strings with this prefix can have no other prefixes set.
|
||||
Unicode,
|
||||
pub enum StringPrefix {
|
||||
/// Prefixes that indicate the string is a bytestring
|
||||
Bytes(ByteStringPrefix),
|
||||
|
||||
/// The string has an `r` or `R` prefix, meaning it is a raw string.
|
||||
/// F-strings and byte-strings can be raw,
|
||||
/// as can strings with no other prefixes.
|
||||
/// U-strings cannot be raw.
|
||||
Raw,
|
||||
/// Prefixes that indicate the string is an f-string
|
||||
Format(FStringPrefix),
|
||||
|
||||
/// The string has a `f` or `F` prefix, meaning it is an f-string.
|
||||
/// F-strings can also be raw strings,
|
||||
/// but can have no other prefixes.
|
||||
Format,
|
||||
|
||||
/// The string has a `b` or `B` prefix.
|
||||
/// This means that the string is a sequence of `int`s at runtime,
|
||||
/// rather than a sequence of `str`s.
|
||||
/// Bytestrings can also be raw strings,
|
||||
/// but can have no other prefixes.
|
||||
Bytes,
|
||||
|
||||
/// A string that has has any one of the prefixes
|
||||
/// `{"rf", "rF", "Rf", "RF", "fr", "fR", "Fr", "FR"}`
|
||||
/// Semantically, these all have the same meaning:
|
||||
/// the string is both an f-string and a raw-string
|
||||
RawFormat,
|
||||
|
||||
/// A string that has has any one of the prefixes
|
||||
/// `{"rb", "rB", "Rb", "RB", "br", "bR", "Br", "BR"}`
|
||||
/// Semantically, these all have the same meaning:
|
||||
/// the string is both an bytestring and a raw-string
|
||||
RawBytes,
|
||||
/// All other prefixes
|
||||
Regular(StringLiteralPrefix),
|
||||
}
|
||||
|
||||
impl TryFrom<char> for StringPrefix {
|
||||
|
@ -103,10 +84,11 @@ impl TryFrom<char> for StringPrefix {
|
|||
|
||||
fn try_from(value: char) -> Result<Self, String> {
|
||||
let result = match value {
|
||||
'r' | 'R' => Self::Raw,
|
||||
'u' | 'U' => Self::Unicode,
|
||||
'b' | 'B' => Self::Bytes,
|
||||
'f' | 'F' => Self::Format,
|
||||
'r' => Self::Regular(StringLiteralPrefix::Raw { uppercase: false }),
|
||||
'R' => Self::Regular(StringLiteralPrefix::Raw { uppercase: true }),
|
||||
'u' | 'U' => Self::Regular(StringLiteralPrefix::Unicode),
|
||||
'b' | 'B' => Self::Bytes(ByteStringPrefix::Regular),
|
||||
'f' | 'F' => Self::Format(FStringPrefix::Regular),
|
||||
_ => return Err(format!("Unexpected prefix '{value}'")),
|
||||
};
|
||||
Ok(result)
|
||||
|
@ -117,37 +99,127 @@ impl TryFrom<[char; 2]> for StringPrefix {
|
|||
type Error = String;
|
||||
|
||||
fn try_from(value: [char; 2]) -> Result<Self, String> {
|
||||
match value {
|
||||
['r' | 'R', 'f' | 'F'] | ['f' | 'F', 'r' | 'R'] => Ok(Self::RawFormat),
|
||||
['r' | 'R', 'b' | 'B'] | ['b' | 'B', 'r' | 'R'] => Ok(Self::RawBytes),
|
||||
_ => Err(format!("Unexpected prefix '{}{}'", value[0], value[1])),
|
||||
}
|
||||
let result = match value {
|
||||
['r', 'f' | 'F'] | ['f' | 'F', 'r'] => {
|
||||
Self::Format(FStringPrefix::Raw { uppercase_r: false })
|
||||
}
|
||||
['R', 'f' | 'F'] | ['f' | 'F', 'R'] => {
|
||||
Self::Format(FStringPrefix::Raw { uppercase_r: true })
|
||||
}
|
||||
['r', 'b' | 'B'] | ['b' | 'B', 'r'] => {
|
||||
Self::Bytes(ByteStringPrefix::Raw { uppercase_r: false })
|
||||
}
|
||||
['R', 'b' | 'B'] | ['b' | 'B', 'R'] => {
|
||||
Self::Bytes(ByteStringPrefix::Raw { uppercase_r: true })
|
||||
}
|
||||
_ => return Err(format!("Unexpected prefix '{}{}'", value[0], value[1])),
|
||||
};
|
||||
Ok(result)
|
||||
}
|
||||
}
|
||||
|
||||
impl StringPrefix {
|
||||
const fn as_flags(self) -> StringFlags {
|
||||
match self {
|
||||
Self::Bytes => StringFlags::B_PREFIX,
|
||||
Self::Format => StringFlags::F_PREFIX,
|
||||
Self::Raw => StringFlags::R_PREFIX,
|
||||
Self::RawBytes => StringFlags::R_PREFIX.union(StringFlags::B_PREFIX),
|
||||
Self::RawFormat => StringFlags::R_PREFIX.union(StringFlags::F_PREFIX),
|
||||
Self::Unicode => StringFlags::U_PREFIX,
|
||||
// regular strings
|
||||
Self::Regular(StringLiteralPrefix::Empty) => StringFlags::empty(),
|
||||
Self::Regular(StringLiteralPrefix::Unicode) => StringFlags::U_PREFIX,
|
||||
Self::Regular(StringLiteralPrefix::Raw { uppercase: false }) => {
|
||||
StringFlags::R_PREFIX_LOWER
|
||||
}
|
||||
Self::Regular(StringLiteralPrefix::Raw { uppercase: true }) => {
|
||||
StringFlags::R_PREFIX_UPPER
|
||||
}
|
||||
|
||||
// bytestrings
|
||||
Self::Bytes(ByteStringPrefix::Regular) => StringFlags::B_PREFIX,
|
||||
Self::Bytes(ByteStringPrefix::Raw { uppercase_r: false }) => {
|
||||
StringFlags::B_PREFIX.union(StringFlags::R_PREFIX_LOWER)
|
||||
}
|
||||
Self::Bytes(ByteStringPrefix::Raw { uppercase_r: true }) => {
|
||||
StringFlags::B_PREFIX.union(StringFlags::R_PREFIX_UPPER)
|
||||
}
|
||||
|
||||
// f-strings
|
||||
Self::Format(FStringPrefix::Regular) => StringFlags::F_PREFIX,
|
||||
Self::Format(FStringPrefix::Raw { uppercase_r: false }) => {
|
||||
StringFlags::F_PREFIX.union(StringFlags::R_PREFIX_LOWER)
|
||||
}
|
||||
Self::Format(FStringPrefix::Raw { uppercase_r: true }) => {
|
||||
StringFlags::F_PREFIX.union(StringFlags::R_PREFIX_UPPER)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const fn from_kind(kind: StringKind) -> Self {
|
||||
let StringKind(flags) = kind;
|
||||
|
||||
// f-strings
|
||||
if flags.contains(StringFlags::F_PREFIX) {
|
||||
if flags.contains(StringFlags::R_PREFIX_LOWER) {
|
||||
return Self::Format(FStringPrefix::Raw { uppercase_r: false });
|
||||
}
|
||||
if flags.contains(StringFlags::R_PREFIX_UPPER) {
|
||||
return Self::Format(FStringPrefix::Raw { uppercase_r: true });
|
||||
}
|
||||
return Self::Format(FStringPrefix::Regular);
|
||||
}
|
||||
|
||||
// bytestrings
|
||||
if flags.contains(StringFlags::B_PREFIX) {
|
||||
if flags.contains(StringFlags::R_PREFIX_LOWER) {
|
||||
return Self::Bytes(ByteStringPrefix::Raw { uppercase_r: true });
|
||||
}
|
||||
if flags.contains(StringFlags::R_PREFIX_LOWER) {
|
||||
return Self::Bytes(ByteStringPrefix::Raw { uppercase_r: false });
|
||||
}
|
||||
return Self::Bytes(ByteStringPrefix::Regular);
|
||||
}
|
||||
|
||||
// all other strings
|
||||
if flags.contains(StringFlags::R_PREFIX_LOWER) {
|
||||
return Self::Regular(StringLiteralPrefix::Raw { uppercase: false });
|
||||
}
|
||||
if flags.contains(StringFlags::R_PREFIX_UPPER) {
|
||||
return Self::Regular(StringLiteralPrefix::Raw { uppercase: true });
|
||||
}
|
||||
if flags.contains(StringFlags::U_PREFIX) {
|
||||
return Self::Regular(StringLiteralPrefix::Unicode);
|
||||
}
|
||||
Self::Regular(StringLiteralPrefix::Empty)
|
||||
}
|
||||
|
||||
const fn as_str(self) -> &'static str {
|
||||
match self {
|
||||
Self::Regular(regular_prefix) => regular_prefix.as_str(),
|
||||
Self::Bytes(bytestring_prefix) => bytestring_prefix.as_str(),
|
||||
Self::Format(fstring_prefix) => fstring_prefix.as_str(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Display for StringPrefix {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.write_str(self.as_str())
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for StringPrefix {
|
||||
fn default() -> Self {
|
||||
Self::Regular(StringLiteralPrefix::Empty)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct StringKind(StringFlags);
|
||||
|
||||
impl StringKind {
|
||||
pub(crate) const fn from_prefix(prefix: Option<StringPrefix>) -> Self {
|
||||
if let Some(prefix) = prefix {
|
||||
Self(prefix.as_flags())
|
||||
} else {
|
||||
Self(StringFlags::empty())
|
||||
}
|
||||
pub(crate) const fn from_prefix(prefix: StringPrefix) -> Self {
|
||||
Self(prefix.as_flags())
|
||||
}
|
||||
|
||||
pub const fn prefix(self) -> StringPrefix {
|
||||
StringPrefix::from_kind(self)
|
||||
}
|
||||
|
||||
/// Does the string have a `u` or `U` prefix?
|
||||
|
@ -157,7 +229,8 @@ impl StringKind {
|
|||
|
||||
/// Does the string have an `r` or `R` prefix?
|
||||
pub const fn is_raw_string(self) -> bool {
|
||||
self.0.contains(StringFlags::R_PREFIX)
|
||||
self.0
|
||||
.intersects(StringFlags::R_PREFIX_LOWER.union(StringFlags::R_PREFIX_UPPER))
|
||||
}
|
||||
|
||||
/// Does the string have an `f` or `F` prefix?
|
||||
|
@ -201,33 +274,9 @@ impl StringKind {
|
|||
}
|
||||
}
|
||||
|
||||
/// A `str` representation of the prefixes used (if any)
|
||||
/// in the string's opener.
|
||||
pub const fn prefix_str(self) -> &'static str {
|
||||
if self.0.contains(StringFlags::F_PREFIX) {
|
||||
if self.0.contains(StringFlags::R_PREFIX) {
|
||||
return "rf";
|
||||
}
|
||||
return "f";
|
||||
}
|
||||
if self.0.contains(StringFlags::B_PREFIX) {
|
||||
if self.0.contains(StringFlags::R_PREFIX) {
|
||||
return "rb";
|
||||
}
|
||||
return "b";
|
||||
}
|
||||
if self.0.contains(StringFlags::R_PREFIX) {
|
||||
return "r";
|
||||
}
|
||||
if self.0.contains(StringFlags::U_PREFIX) {
|
||||
return "u";
|
||||
}
|
||||
""
|
||||
}
|
||||
|
||||
/// The length of the prefixes used (if any) in the string's opener.
|
||||
pub fn prefix_len(self) -> TextSize {
|
||||
self.prefix_str().text_len()
|
||||
self.prefix().as_str().text_len()
|
||||
}
|
||||
|
||||
/// The length of the quotes used to start and close the string.
|
||||
|
@ -258,7 +307,7 @@ impl StringKind {
|
|||
pub fn format_string_contents(self, contents: &str) -> String {
|
||||
format!(
|
||||
"{}{}{}{}",
|
||||
self.prefix_str(),
|
||||
self.prefix(),
|
||||
self.quote_str(),
|
||||
contents,
|
||||
self.quote_str()
|
||||
|
@ -281,7 +330,7 @@ impl StringKind {
|
|||
impl fmt::Debug for StringKind {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_struct("StringKind")
|
||||
.field("prefix", &self.prefix_str())
|
||||
.field("prefix", &self.prefix())
|
||||
.field("triple_quoted", &self.is_triple_quoted())
|
||||
.field("quote_style", &self.quote_style())
|
||||
.finish()
|
||||
|
@ -290,9 +339,6 @@ impl fmt::Debug for StringKind {
|
|||
|
||||
impl From<StringKind> for ruff_python_ast::StringLiteralFlags {
|
||||
fn from(value: StringKind) -> ruff_python_ast::StringLiteralFlags {
|
||||
debug_assert!(!value.is_f_string());
|
||||
debug_assert!(!value.is_byte_string());
|
||||
|
||||
let mut new = ruff_python_ast::StringLiteralFlags::default();
|
||||
if value.quote_style().is_double() {
|
||||
new = new.with_double_quotes();
|
||||
|
@ -300,25 +346,18 @@ impl From<StringKind> for ruff_python_ast::StringLiteralFlags {
|
|||
if value.is_triple_quoted() {
|
||||
new = new.with_triple_quotes();
|
||||
}
|
||||
new.with_prefix({
|
||||
if value.is_u_string() {
|
||||
debug_assert!(!value.is_raw_string());
|
||||
StringLiteralPrefix::UString
|
||||
} else if value.is_raw_string() {
|
||||
StringLiteralPrefix::RString
|
||||
} else {
|
||||
StringLiteralPrefix::None
|
||||
}
|
||||
})
|
||||
let StringPrefix::Regular(prefix) = value.prefix() else {
|
||||
unreachable!(
|
||||
"Should never attempt to convert {} into a regular string",
|
||||
value.prefix()
|
||||
)
|
||||
};
|
||||
new.with_prefix(prefix)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<StringKind> for ruff_python_ast::BytesLiteralFlags {
|
||||
fn from(value: StringKind) -> ruff_python_ast::BytesLiteralFlags {
|
||||
debug_assert!(value.is_byte_string());
|
||||
debug_assert!(!value.is_f_string());
|
||||
debug_assert!(!value.is_u_string());
|
||||
|
||||
let mut new = ruff_python_ast::BytesLiteralFlags::default();
|
||||
if value.quote_style().is_double() {
|
||||
new = new.with_double_quotes();
|
||||
|
@ -326,19 +365,18 @@ impl From<StringKind> for ruff_python_ast::BytesLiteralFlags {
|
|||
if value.is_triple_quoted() {
|
||||
new = new.with_triple_quotes();
|
||||
}
|
||||
if value.is_raw_string() {
|
||||
new = new.with_r_prefix();
|
||||
}
|
||||
new
|
||||
let StringPrefix::Bytes(bytestring_prefix) = value.prefix() else {
|
||||
unreachable!(
|
||||
"Should never attempt to convert {} into a bytestring",
|
||||
value.prefix()
|
||||
)
|
||||
};
|
||||
new.with_prefix(bytestring_prefix)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<StringKind> for ruff_python_ast::FStringFlags {
|
||||
fn from(value: StringKind) -> ruff_python_ast::FStringFlags {
|
||||
debug_assert!(value.is_f_string());
|
||||
debug_assert!(!value.is_byte_string());
|
||||
debug_assert!(!value.is_u_string());
|
||||
|
||||
let mut new = ruff_python_ast::FStringFlags::default();
|
||||
if value.quote_style().is_double() {
|
||||
new = new.with_double_quotes();
|
||||
|
@ -346,9 +384,12 @@ impl From<StringKind> for ruff_python_ast::FStringFlags {
|
|||
if value.is_triple_quoted() {
|
||||
new = new.with_triple_quotes();
|
||||
}
|
||||
if value.is_raw_string() {
|
||||
new = new.with_r_prefix();
|
||||
}
|
||||
new
|
||||
let StringPrefix::Format(fstring_prefix) = value.prefix() else {
|
||||
unreachable!(
|
||||
"Should never attempt to convert {} into an f-string",
|
||||
value.prefix()
|
||||
)
|
||||
};
|
||||
new.with_prefix(fstring_prefix)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue