Skip to main content

StringLiteralFlags

Struct StringLiteralFlags 

Source
pub struct StringLiteralFlags(/* private fields */);
Expand description

Flags that can be queried to obtain information regarding the prefixes and quotes used for a string literal.

§Notes on usage

If you’re using a Generator from the ruff_python_codegen crate to generate a lint-rule fix from an existing string literal, consider passing along the StringLiteral::flags field or the result of the StringLiteralValue::first_literal_flags method. If you don’t have an existing string but have a Checker from the ruff_linter crate available, consider using Checker::default_string_flags to create instances of this struct; this method will properly handle surrounding f-strings. For usage that doesn’t fit into one of these categories, the public constructor StringLiteralFlags::empty can be used.

Implementations§

Source§

impl StringLiteralFlags

Source

pub fn empty() -> Self

Construct a new StringLiteralFlags with no flags set.

See StringLiteralFlags::with_quote_style, StringLiteralFlags::with_triple_quotes, and StringLiteralFlags::with_prefix for ways of setting the quote style (single or double), enabling triple quotes, and adding prefixes (such as r or u), respectively.

See the documentation for StringLiteralFlags for additional caveats on this constructor, and situations in which alternative ways to construct this struct should be used, especially when writing lint rules.

Source

pub fn with_quote_style(self, quote_style: Quote) -> Self

Source

pub fn with_triple_quotes(self, triple_quotes: TripleQuotes) -> Self

Source

pub fn with_unclosed(self, unclosed: bool) -> Self

Source

pub fn with_prefix(self, prefix: StringLiteralPrefix) -> Self

Source

pub fn with_invalid(self) -> Self

Source

pub const fn prefix(self) -> StringLiteralPrefix

Trait Implementations§

Source§

impl Clone for StringLiteralFlags

Source§

fn clone(&self) -> StringLiteralFlags

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StringLiteralFlags

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<AnyStringFlags> for StringLiteralFlags

Source§

fn from(value: AnyStringFlags) -> StringLiteralFlags

Converts to this type from the input type.
Source§

impl From<StringLiteralFlags> for AnyStringFlags

Source§

fn from(value: StringLiteralFlags) -> Self

Converts to this type from the input type.
Source§

impl Hash for StringLiteralFlags

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for StringLiteralFlags

Source§

fn eq(&self, other: &StringLiteralFlags) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StringFlags for StringLiteralFlags

Source§

fn quote_style(self) -> Quote

Return the quoting style (single or double quotes) used by the string’s opener and closer:

  • "a" -> QuoteStyle::Double
  • 'a' -> QuoteStyle::Single
Source§

fn triple_quotes(self) -> TripleQuotes

Return true if the string is triple-quoted, i.e., it begins and ends with three consecutive quote characters. For example: """bar"""

Source§

fn prefix(self) -> AnyStringPrefix

Source§

fn is_unclosed(self) -> bool

Source§

fn is_triple_quoted(self) -> bool

Is the string triple-quoted, i.e., does it begin and end with three consecutive quote characters?
Source§

fn quote_str(self) -> &'static str

A str representation of the quotes used to start and close. This does not include any prefixes the string has in its opener.
Source§

fn quote_len(self) -> TextSize

The length of the quotes used to start and close the string. This does not include the length of any prefixes the string has in its opener.
Source§

fn opener_len(self) -> TextSize

The total length of the string’s opener, i.e., the length of the prefixes plus the length of the quotes used to open the string.
Source§

fn closer_len(self) -> TextSize

The total length of the string’s closer. This is always equal to self.quote_len(), except when the string is unclosed, in which case the length is zero.
Source§

fn as_any_string_flags(self) -> AnyStringFlags

Source§

fn display_contents(self, contents: &str) -> DisplayFlags<'_>

Source§

impl Copy for StringLiteralFlags

Source§

impl Eq for StringLiteralFlags

Source§

impl StructuralPartialEq for StringLiteralFlags

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.