Skip to main content

TStringFlags

Struct TStringFlags 

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

Flags that can be queried to obtain information regarding the prefixes and quotes used for an f-string.

Note: This is identical to FStringFlags except that the implementation of the prefix method of the StringFlags trait returns a variant of AnyStringPrefix::Template.

§Notes on usage

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

Implementations§

Source§

impl TStringFlags

Source

pub fn empty() -> Self

Construct a new TStringFlags with no flags set.

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

See the documentation for TStringFlags 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: TStringPrefix) -> Self

Source

pub const fn prefix(self) -> TStringPrefix

Trait Implementations§

Source§

impl Clone for TStringFlags

Source§

fn clone(&self) -> TStringFlags

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 TStringFlags

Source§

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

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

impl From<AnyStringFlags> for TStringFlags

Source§

fn from(value: AnyStringFlags) -> TStringFlags

Converts to this type from the input type.
Source§

impl From<TStringFlags> for AnyStringFlags

Source§

fn from(value: TStringFlags) -> Self

Converts to this type from the input type.
Source§

impl Hash for TStringFlags

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 TStringFlags

Source§

fn eq(&self, other: &TStringFlags) -> 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 TStringFlags

Source§

fn triple_quotes(self) -> TripleQuotes

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

Source§

fn quote_style(self) -> Quote

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

  • t"{"a"}" -> QuoteStyle::Double
  • t'{"a"}' -> QuoteStyle::Single
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 TStringFlags

Source§

impl Eq for TStringFlags

Source§

impl StructuralPartialEq for TStringFlags

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.