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:
Alex Waygood 2024-03-18 17:18:04 +00:00 committed by GitHub
parent 31db1b6e16
commit 162d2eb723
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
105 changed files with 1068 additions and 503 deletions

View File

@ -188,7 +188,7 @@ pub(crate) fn avoidable_escaped_quote(
let mut diagnostic = Diagnostic::new(AvoidableEscapedQuote, tok_range);
let fixed_contents = format!(
"{prefix}{quote}{value}{quote}",
prefix = kind.prefix_str(),
prefix = kind.prefix(),
quote = quotes_settings.inline_quotes.opposite().as_char(),
value = unescape_string(
string_contents,
@ -322,7 +322,7 @@ pub(crate) fn unnecessary_escaped_quote(
let mut diagnostic = Diagnostic::new(UnnecessaryEscapedQuote, tok_range);
let fixed_contents = format!(
"{prefix}{quote}{value}{quote}",
prefix = kind.prefix_str(),
prefix = kind.prefix(),
quote = leading.as_char(),
value = unescape_string(string_contents, leading.opposite().as_char())
);

View File

@ -221,9 +221,9 @@ fn check_os_environ_subscript(checker: &mut Checker, expr: &Expr) {
value: capital_env_var.into_boxed_str(),
flags: StringLiteralFlags::default().with_prefix({
if env_var.is_unicode() {
StringLiteralPrefix::UString
StringLiteralPrefix::Unicode
} else {
StringLiteralPrefix::None
StringLiteralPrefix::Empty
}
}),
..ast::StringLiteral::default()

View File

@ -40,7 +40,7 @@ impl AlwaysFixableViolation for UnicodeKindPrefix {
/// UP025
pub(crate) fn unicode_kind_prefix(checker: &mut Checker, string: &StringLiteral) {
if string.flags.is_u_string() {
if string.flags.prefix().is_unicode() {
let mut diagnostic = Diagnostic::new(UnicodeKindPrefix, string.range);
diagnostic.set_fix(Fix::safe_edit(Edit::range_deletion(TextRange::at(
string.start(),

View File

@ -1187,10 +1187,53 @@ bitflags! {
/// The f-string is triple-quoted:
/// it begins and ends with three consecutive quote characters.
/// For example: `f"""{bar}"""`.
const TRIPLE_QUOTED = 1 << 1;
/// The f-string has an `r` or `R` prefix, meaning it is a raw f-string.
const R_PREFIX = 1 << 3;
/// The f-string has an `r` prefix, meaning it is a raw f-string
/// with a lowercase 'r'. For example: `rf"{bar}"`
const R_PREFIX_LOWER = 1 << 2;
/// The f-string has an `R` prefix, meaning it is a raw f-string
/// with an uppercase 'r'. For example: `Rf"{bar}"`.
/// 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 << 3;
}
}
/// Enumeration of the valid prefixes an f-string literal can have.
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FStringPrefix {
/// Just a regular f-string with no other prefixes, e.g. f"{bar}"
Regular,
/// A "raw" format-string, that has an `r` or `R` prefix,
/// e.g. `rf"{bar}"` or `Rf"{bar}"`
Raw { uppercase_r: bool },
}
impl FStringPrefix {
/// Return a `str` representation of the prefix
pub const fn as_str(self) -> &'static str {
match self {
Self::Regular => "f",
Self::Raw { uppercase_r: true } => "Rf",
Self::Raw { uppercase_r: false } => "rf",
}
}
/// Return true if this prefix indicates a "raw f-string",
/// e.g. `rf"{bar}"` or `Rf"{bar}"`
pub const fn is_raw(self) -> bool {
matches!(self, Self::Raw { .. })
}
}
impl fmt::Display for FStringPrefix {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(self.as_str())
}
}
@ -1213,23 +1256,43 @@ impl FStringFlags {
}
#[must_use]
pub fn with_r_prefix(mut self) -> Self {
self.0 |= FStringFlagsInner::R_PREFIX;
self
pub fn with_prefix(self, prefix: FStringPrefix) -> Self {
let FStringFlags(flags) = self;
match prefix {
FStringPrefix::Regular => {
Self(flags - FStringFlagsInner::R_PREFIX_LOWER - FStringFlagsInner::R_PREFIX_UPPER)
}
FStringPrefix::Raw { uppercase_r: true } => Self(
(flags | FStringFlagsInner::R_PREFIX_UPPER) - FStringFlagsInner::R_PREFIX_LOWER,
),
FStringPrefix::Raw { uppercase_r: false } => Self(
(flags | FStringFlagsInner::R_PREFIX_LOWER) - FStringFlagsInner::R_PREFIX_UPPER,
),
}
}
/// Does the f-string have an `r` or `R` prefix?
pub const fn is_raw(self) -> bool {
self.0.contains(FStringFlagsInner::R_PREFIX)
pub const fn prefix(self) -> FStringPrefix {
if self.0.contains(FStringFlagsInner::R_PREFIX_LOWER) {
debug_assert!(!self.0.contains(FStringFlagsInner::R_PREFIX_UPPER));
FStringPrefix::Raw { uppercase_r: false }
} else if self.0.contains(FStringFlagsInner::R_PREFIX_UPPER) {
FStringPrefix::Raw { uppercase_r: true }
} else {
FStringPrefix::Regular
}
}
/// Is the f-string triple-quoted, i.e.,
/// does it begin and end with three consecutive quote characters?
/// Return `true` if the f-string is triple-quoted, i.e.,
/// it begins and ends with three consecutive quote characters.
/// For example: `f"""{bar}"""`
pub const fn is_triple_quoted(self) -> bool {
self.0.contains(FStringFlagsInner::TRIPLE_QUOTED)
}
/// Does the f-string use single or double quotes in its opener and closer?
/// Return the quoting style (single or double quotes)
/// used by the f-string's opener and closer:
/// - `f"{"a"}"` -> `QuoteStyle::Double`
/// - `f'{"a"}'` -> `QuoteStyle::Single`
pub const fn quote_style(self) -> Quote {
if self.0.contains(FStringFlagsInner::DOUBLE) {
Quote::Double
@ -1243,7 +1306,7 @@ impl fmt::Debug for FStringFlags {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.debug_struct("FStringFlags")
.field("quote_style", &self.quote_style())
.field("raw", &self.is_raw())
.field("prefix", &self.prefix())
.field("triple_quoted", &self.is_triple_quoted())
.finish()
}
@ -1367,7 +1430,7 @@ impl StringLiteralValue {
pub fn is_unicode(&self) -> bool {
self.iter()
.next()
.map_or(false, |part| part.flags.is_u_string())
.map_or(false, |part| part.flags.prefix().is_unicode())
}
/// Returns a slice of all the [`StringLiteral`] parts contained in this value.
@ -1483,24 +1546,32 @@ impl Default for StringLiteralValueInner {
bitflags! {
#[derive(Debug, Default, Copy, Clone, PartialEq, Eq, Hash)]
struct StringLiteralFlagsInner: u8 {
/// The string uses double quotes (`"`).
/// If this flag is not set, the string uses single quotes (`'`).
/// The string uses double quotes (e.g. `"foo"`).
/// If this flag is not set, the string uses single quotes (`'foo'`).
const DOUBLE = 1 << 0;
/// The string is triple-quoted:
/// The string is triple-quoted (`"""foo"""`):
/// it begins and ends with three consecutive quote characters.
const TRIPLE_QUOTED = 1 << 1;
/// The string has a `u` or `U` prefix.
/// The string has a `u` or `U` prefix, e.g. `u"foo"`.
/// While this prefix is a no-op at runtime,
/// strings with this prefix can have no other prefixes set;
/// it is therefore invalid for this flag to be set
/// if `R_PREFIX` is also set.
const U_PREFIX = 1 << 2;
/// 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
/// with a lowercase 'r' (e.g. `r"foo\."`).
/// It is invalid to set this flag if `U_PREFIX` is also set.
const R_PREFIX = 1 << 3;
const R_PREFIX_LOWER = 1 << 3;
/// The string has an `R` prefix, meaning it is a raw string
/// with an uppercase 'R' (e.g. `R'foo\d'`).
/// 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 << 4;
}
}
@ -1523,27 +1594,54 @@ impl StringLiteralFlags {
}
#[must_use]
pub fn with_prefix(mut self, prefix: StringLiteralPrefix) -> Self {
pub fn with_prefix(self, prefix: StringLiteralPrefix) -> Self {
let StringLiteralFlags(flags) = self;
match prefix {
StringLiteralPrefix::None => {}
StringLiteralPrefix::RString => self.0 |= StringLiteralFlagsInner::R_PREFIX,
StringLiteralPrefix::UString => self.0 |= StringLiteralFlagsInner::U_PREFIX,
};
self
}
pub const fn prefix(self) -> &'static str {
if self.0.contains(StringLiteralFlagsInner::U_PREFIX) {
debug_assert!(!self.0.contains(StringLiteralFlagsInner::R_PREFIX));
"u"
} else if self.0.contains(StringLiteralFlagsInner::R_PREFIX) {
"r"
} else {
""
StringLiteralPrefix::Empty => Self(
flags
- StringLiteralFlagsInner::R_PREFIX_LOWER
- StringLiteralFlagsInner::R_PREFIX_UPPER
- StringLiteralFlagsInner::U_PREFIX,
),
StringLiteralPrefix::Raw { uppercase: false } => Self(
(flags | StringLiteralFlagsInner::R_PREFIX_LOWER)
- StringLiteralFlagsInner::R_PREFIX_UPPER
- StringLiteralFlagsInner::U_PREFIX,
),
StringLiteralPrefix::Raw { uppercase: true } => Self(
(flags | StringLiteralFlagsInner::R_PREFIX_UPPER)
- StringLiteralFlagsInner::R_PREFIX_LOWER
- StringLiteralFlagsInner::U_PREFIX,
),
StringLiteralPrefix::Unicode => Self(
(flags | StringLiteralFlagsInner::U_PREFIX)
- StringLiteralFlagsInner::R_PREFIX_LOWER
- StringLiteralFlagsInner::R_PREFIX_UPPER,
),
}
}
/// Does the string use single or double quotes in its opener and closer?
pub const fn prefix(self) -> StringLiteralPrefix {
if self.0.contains(StringLiteralFlagsInner::U_PREFIX) {
debug_assert!(!self.0.intersects(
StringLiteralFlagsInner::R_PREFIX_LOWER
.union(StringLiteralFlagsInner::R_PREFIX_UPPER)
));
StringLiteralPrefix::Unicode
} else if self.0.contains(StringLiteralFlagsInner::R_PREFIX_LOWER) {
debug_assert!(!self.0.contains(StringLiteralFlagsInner::R_PREFIX_UPPER));
StringLiteralPrefix::Raw { uppercase: false }
} else if self.0.contains(StringLiteralFlagsInner::R_PREFIX_UPPER) {
StringLiteralPrefix::Raw { uppercase: true }
} else {
StringLiteralPrefix::Empty
}
}
/// Return the quoting style (single or double quotes)
/// used by the string's opener and closer:
/// - `"a"` -> `QuoteStyle::Double`
/// - `'a'` -> `QuoteStyle::Single`
pub const fn quote_style(self) -> Quote {
if self.0.contains(StringLiteralFlagsInner::DOUBLE) {
Quote::Double
@ -1552,21 +1650,12 @@ impl StringLiteralFlags {
}
}
/// Is the string triple-quoted, i.e.,
/// does it begin and end with three consecutive quote characters?
/// Return `true` if the string is triple-quoted, i.e.,
/// it begins and ends with three consecutive quote characters.
/// For example: `"""bar"""`
pub const fn is_triple_quoted(self) -> bool {
self.0.contains(StringLiteralFlagsInner::TRIPLE_QUOTED)
}
/// Does the string have a `u` or `U` prefix?
pub const fn is_u_string(&self) -> bool {
self.0.contains(StringLiteralFlagsInner::U_PREFIX)
}
/// Does the string have an `r` or `R` prefix?
pub const fn is_r_string(&self) -> bool {
self.0.contains(StringLiteralFlagsInner::R_PREFIX)
}
}
impl fmt::Debug for StringLiteralFlags {
@ -1583,19 +1672,41 @@ impl fmt::Debug for StringLiteralFlags {
///
/// Bytestrings and f-strings are excluded from this enumeration,
/// as they are represented by different AST nodes.
#[derive(Debug, Default, Copy, Clone, PartialEq, Eq, Hash)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, is_macro::Is)]
pub enum StringLiteralPrefix {
/// Just a regular string with no prefixes
#[default]
None,
Empty,
/// A string with a `u` or `U` prefix.
/// This is a no-op at runtime,
/// but is mutually exclusive with a string having an `r` prefix.
UString,
/// A string with a `u` or `U` prefix, e.g. `u"foo"`.
/// Note that, despite this variant's name,
/// it is in fact a no-op at runtime to use the `u` or `U` prefix
/// in Python. All Python-3 strings are unicode strings;
/// this prefix is only allowed in Python 3 for backwards compatibility
/// with Python 2. However, using this prefix in a Python string
/// is mutually exclusive with an `r` or `R` prefix.
Unicode,
/// A "raw" string, that has an `r` or `R` prefix
RString,
/// A "raw" string, that has an `r` or `R` prefix,
/// e.g. `r"foo\."` or `R'bar\d'`.
Raw { uppercase: bool },
}
impl StringLiteralPrefix {
/// Return a `str` representation of the prefix
pub const fn as_str(self) -> &'static str {
match self {
Self::Empty => "",
Self::Unicode => "u",
Self::Raw { uppercase: true } => "R",
Self::Raw { uppercase: false } => "r",
}
}
}
impl fmt::Display for StringLiteralPrefix {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(self.as_str())
}
}
/// An AST node that represents a single string literal which is part of an
@ -1824,16 +1935,57 @@ impl Default for BytesLiteralValueInner {
bitflags! {
#[derive(Default, Copy, Clone, PartialEq, Eq, Hash)]
struct BytesLiteralFlagsInner: u8 {
/// The bytestring uses double quotes (`"`).
/// If this flag is not set, the bytestring uses single quotes (`'`).
/// The bytestring uses double quotes (e.g. `b"foo"`).
/// If this flag is not set, the bytestring uses single quotes (e.g. `b'foo'`).
const DOUBLE = 1 << 0;
/// The bytestring is triple-quoted:
/// The bytestring is triple-quoted (e.g. `b"""foo"""`):
/// it begins and ends with three consecutive quote characters.
const TRIPLE_QUOTED = 1 << 1;
/// The bytestring has an `r` or `R` prefix, meaning it is a raw bytestring.
const R_PREFIX = 1 << 3;
/// The bytestring has an `r` prefix (e.g. `rb"foo"`),
/// meaning it is a raw bytestring with a lowercase 'r'.
const R_PREFIX_LOWER = 1 << 2;
/// The bytestring has an `R` prefix (e.g. `Rb"foo"`),
/// meaning it is a raw bytestring with an uppercase 'R'.
/// 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 << 3;
}
}
/// Enumeration of the valid prefixes a bytestring literal can have.
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum ByteStringPrefix {
/// Just a regular bytestring with no other prefixes, e.g. `b"foo"`
Regular,
/// A "raw" bytestring, that has an `r` or `R` prefix,
/// e.g. `Rb"foo"` or `rb"foo"`
Raw { uppercase_r: bool },
}
impl ByteStringPrefix {
/// Return a `str` representation of the prefix
pub const fn as_str(self) -> &'static str {
match self {
Self::Regular => "b",
Self::Raw { uppercase_r: true } => "Rb",
Self::Raw { uppercase_r: false } => "rb",
}
}
/// Return true if this prefix indicates a "raw bytestring",
/// e.g. `rb"foo"` or `Rb"foo"`
pub const fn is_raw(self) -> bool {
matches!(self, Self::Raw { .. })
}
}
impl fmt::Display for ByteStringPrefix {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(self.as_str())
}
}
@ -1856,23 +2008,47 @@ impl BytesLiteralFlags {
}
#[must_use]
pub fn with_r_prefix(mut self) -> Self {
self.0 |= BytesLiteralFlagsInner::R_PREFIX;
self
pub fn with_prefix(self, prefix: ByteStringPrefix) -> Self {
let BytesLiteralFlags(flags) = self;
match prefix {
ByteStringPrefix::Regular => Self(
flags
- BytesLiteralFlagsInner::R_PREFIX_LOWER
- BytesLiteralFlagsInner::R_PREFIX_UPPER,
),
ByteStringPrefix::Raw { uppercase_r: true } => Self(
(flags | BytesLiteralFlagsInner::R_PREFIX_UPPER)
- BytesLiteralFlagsInner::R_PREFIX_LOWER,
),
ByteStringPrefix::Raw { uppercase_r: false } => Self(
(flags | BytesLiteralFlagsInner::R_PREFIX_LOWER)
- BytesLiteralFlagsInner::R_PREFIX_UPPER,
),
}
}
/// Does the bytestring have an `r` or `R` prefix?
pub const fn is_raw(self) -> bool {
self.0.contains(BytesLiteralFlagsInner::R_PREFIX)
pub const fn prefix(self) -> ByteStringPrefix {
if self.0.contains(BytesLiteralFlagsInner::R_PREFIX_LOWER) {
debug_assert!(!self.0.contains(BytesLiteralFlagsInner::R_PREFIX_UPPER));
ByteStringPrefix::Raw { uppercase_r: false }
} else if self.0.contains(BytesLiteralFlagsInner::R_PREFIX_UPPER) {
ByteStringPrefix::Raw { uppercase_r: true }
} else {
ByteStringPrefix::Regular
}
}
/// Is the bytestring triple-quoted, i.e.,
/// does it begin and end with three consecutive quote characters?
/// Return `true` if the bytestring is triple-quoted, i.e.,
/// it begins and ends with three consecutive quote characters.
/// For example: `b"""{bar}"""`
pub const fn is_triple_quoted(self) -> bool {
self.0.contains(BytesLiteralFlagsInner::TRIPLE_QUOTED)
}
/// Does the bytestring use single or double quotes in its opener and closer?
/// Return the quoting style (single or double quotes)
/// used by the bytestring's opener and closer:
/// - `b"a"` -> `QuoteStyle::Double`
/// - `b'a'` -> `QuoteStyle::Single`
pub const fn quote_style(self) -> Quote {
if self.0.contains(BytesLiteralFlagsInner::DOUBLE) {
Quote::Double
@ -1886,7 +2062,7 @@ impl fmt::Debug for BytesLiteralFlags {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.debug_struct("BytesLiteralFlags")
.field("quote_style", &self.quote_style())
.field("raw", &self.is_raw())
.field("prefix", &self.prefix())
.field("triple_quoted", &self.is_triple_quoted())
.finish()
}

View File

@ -1268,10 +1268,11 @@ impl<'a> Generator<'a> {
}
fn unparse_string_literal(&mut self, string_literal: &ast::StringLiteral) {
if string_literal.flags.is_u_string() {
let ast::StringLiteral { value, flags, .. } = string_literal;
if flags.prefix().is_unicode() {
self.p("u");
}
self.p_str_repr(&string_literal.value);
self.p_str_repr(value);
}
fn unparse_string_literal_value(&mut self, value: &ast::StringLiteralValue) {

View File

@ -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

View File

@ -21,7 +21,7 @@ Ok(
value: "foo",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -123,7 +123,7 @@ expression: parse_suite(source).unwrap()
value: "default",
flags: StringLiteralFlags {
quote_style: Single,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -24,7 +24,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Single,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -29,7 +29,7 @@ expression: parse_ast
value: "positional",
flags: StringLiteralFlags {
quote_style: Single,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -29,7 +29,7 @@ expression: parse_ast
value: "Hello world",
flags: StringLiteralFlags {
quote_style: Single,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -29,7 +29,7 @@ expression: parse_ast
value: "Hello world",
flags: StringLiteralFlags {
quote_style: Single,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -16,7 +16,7 @@ expression: parse_ast
value: "Hello world",
flags: StringLiteralFlags {
quote_style: Single,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -88,7 +88,7 @@ expression: parse_suite(source).unwrap()
value: "ForwardRefY",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -25,7 +25,7 @@ expression: parse_ast
value: "\u{8}another cool trick",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -16,7 +16,7 @@ expression: parse_ast
value: "\u{8}",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -16,7 +16,7 @@ expression: parse_ast
value: "\u{7}",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -16,7 +16,7 @@ expression: parse_ast
value: "\r",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -16,7 +16,7 @@ expression: parse_ast
value: "\u{89}",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -16,7 +16,7 @@ expression: parse_ast
value: "\u{7f}",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -25,7 +25,7 @@ expression: parse_ast
value: "\u{3}8[1m",
flags: StringLiteralFlags {
quote_style: Single,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -273,7 +273,7 @@ expression: parse_ast
],
flags: BytesLiteralFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -16,7 +16,7 @@ expression: parse_ast
value: "\u{1b}",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -27,7 +27,7 @@ expression: parse_ast
],
flags: BytesLiteralFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -22,7 +22,7 @@ expression: parse_ast
],
flags: BytesLiteralFlags {
quote_style: Single,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -16,7 +16,7 @@ expression: parse_ast
value: "\u{c}",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -66,7 +66,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -39,7 +39,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -39,7 +39,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -39,7 +39,9 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: true,
prefix: Raw {
uppercase_r: false,
},
triple_quoted: false,
},
},

View File

@ -38,7 +38,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -70,7 +70,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -50,7 +50,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -39,7 +39,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: true,
},
},

View File

@ -16,7 +16,7 @@ expression: parse_ast
value: "\u{88}",
flags: StringLiteralFlags {
quote_style: Double,
prefix: "",
prefix: Empty,
triple_quoted: false,
},
},

View File

@ -17,7 +17,7 @@ expression: "parse_suite(r#\"f\"\"\"#).unwrap()"
elements: [],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -54,7 +54,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -52,7 +52,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -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,
},
},

View File

@ -54,7 +54,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -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,
},
},

View File

@ -52,7 +52,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -45,7 +45,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -38,7 +38,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -38,7 +38,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -32,7 +32,7 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

View File

@ -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,
},
},

View File

@ -16,7 +16,7 @@ expression: parse_ast
value: "Hello, world!",
flags: StringLiteralFlags {
quote_style: Single,
prefix: "u",
prefix: Unicode,
triple_quoted: true,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -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,
},
},

View File

@ -21,7 +21,9 @@ expression: parse_ast
],
flags: BytesLiteralFlags {
quote_style: Single,
raw: true,
prefix: Raw {
uppercase_r: true,
},
triple_quoted: false,
},
},

View File

@ -19,7 +19,9 @@ expression: parse_ast
],
flags: BytesLiteralFlags {
quote_style: Single,
raw: true,
prefix: Raw {
uppercase_r: true,
},
triple_quoted: false,
},
},

View File

@ -33,7 +33,9 @@ expression: parse_ast
],
flags: FStringFlags {
quote_style: Double,
raw: true,
prefix: Raw {
uppercase_r: false,
},
triple_quoted: false,
},
},

View File

@ -273,7 +273,7 @@ expression: parse_ast
],
flags: BytesLiteralFlags {
quote_style: Single,
raw: false,
prefix: Regular,
triple_quoted: false,
},
},

Some files were not shown because too many files have changed in this diff Show More