Struct sqruff_lib::core::templaters::base::TemplatedFileInner

source ·
pub struct TemplatedFileInner {
    pub source_str: String,
    pub templated_str: Option<String>,
    pub sliced_file: Vec<TemplatedFileSlice>,
    /* private fields */
}

Fields§

§source_str: String§templated_str: Option<String>§sliced_file: Vec<TemplatedFileSlice>

Implementations§

source§

impl TemplatedFileInner

source

pub fn new( source_str: String, f_name: String, input_templated_str: Option<String>, sliced_file: Option<Vec<TemplatedFileSlice>>, input_raw_sliced: Option<Vec<RawFileSlice>> ) -> Result<TemplatedFileInner, SQLFluffSkipFile>

Initialise the TemplatedFile. If no templated_str is provided then we assume that the file is NOT templated and that the templated view is the same as the source view.

source

pub fn is_templated(&self) -> bool

Return true if there’s a templated file.

source

pub fn get_line_pos_of_char_pos( &self, char_pos: usize, source: bool ) -> (usize, usize)

Get the line number and position of a point in the source file. Args:

  • char_pos: The character position in the relevant file.
  • source: Are we checking the source file (as opposed to the templated file)

Returns: line_number, line_position

source

pub fn from_string(raw: SmolStr) -> TemplatedFile

Create TemplatedFile from a string.

source

pub fn get_templated_string(&self) -> Option<&str>

Get templated string

source

pub fn to_string(&self) -> String

Return the templated file if coerced to string.

source

pub fn source_only_slices(&self) -> Vec<RawFileSlice>

Return a list a slices which reference the parts only in the source.

All of these slices should be expected to have zero-length in the templated file.

    The results are NECESSARILY sorted.
source

pub fn find_slice_indices_of_templated_pos( &self, templated_pos: usize, start_idx: Option<usize>, inclusive: Option<bool> ) -> Result<(usize, usize), ValueError>

Find a subset of the sliced file which touch this point.

The last_idx is exclusive, as the intent is to use this as a slice.
source

pub fn templated_slice_to_source_slice( &self, template_slice: Range<usize> ) -> Result<Range<usize>, ValueError>

Convert a template slice to a source slice.

source

pub fn is_source_slice_literal(&self, source_slice: &Range<usize>) -> bool

Work out whether a slice of the source file is a literal or not.

Trait Implementations§

source§

impl Clone for TemplatedFileInner

source§

fn clone(&self) -> TemplatedFileInner

Returns a copy 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 TemplatedFileInner

source§

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

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

impl Hash for TemplatedFileInner

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 TemplatedFileInner

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for TemplatedFileInner

source§

impl StructuralPartialEq for TemplatedFileInner

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> Config for T

source§

fn config(self, f: impl FnOnce(&mut Self)) -> Self

source§

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

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> DynEq for T
where T: Any + PartialEq,

source§

fn as_any(&self) -> &(dyn Any + 'static)

source§

fn dyn_eq(&self, other: &(dyn DynEq + 'static)) -> bool

source§

impl<T> DynHash for T
where T: Hash + ?Sized,

source§

fn dyn_hash(&self, state: &mut dyn Hasher)

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

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

§

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

§

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

§

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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> Any for T
where T: Any,

source§

impl<T> CloneAny for T
where T: Any + Clone,