[][src]Trait rslint_core::Span

pub trait Span {
    fn as_range(&self) -> Range<usize>;

    fn as_text_range(&self) -> TextRange { ... }
fn join<T>(&self, other: T) -> Range<usize>
    where
        T: Span
, { ... }
fn between<T>(&self, other: T) -> Range<usize>
    where
        T: Span
, { ... }
fn until<T>(&self, other: T) -> Range<usize>
    where
        T: Span
, { ... }
fn sub_start(&self, amount: usize) -> Range<usize> { ... }
fn add_start(&self, amount: usize) -> Range<usize> { ... }
fn sub_end(&self, amount: usize) -> Range<usize> { ... }
fn add_end(&self, amount: usize) -> Range<usize> { ... } }

A value which can be used as the range inside of a diagnostic.

This is essentially a hack to allow us to use SyntaxElement, SyntaxNode, etc directly

Required methods

fn as_range(&self) -> Range<usize>

Loading content...

Provided methods

fn as_text_range(&self) -> TextRange

fn join<T>(&self, other: T) -> Range<usize> where
    T: Span

Make a new span which extends to another span

from      to
^^^^^^^^^^^^

fn between<T>(&self, other: T) -> Range<usize> where
    T: Span

Make a new span which is between another span

from      to
    ^^^^^^

fn until<T>(&self, other: T) -> Range<usize> where
    T: Span

Make a new span which extends until another span

from      to
^^^^^^^^^^

fn sub_start(&self, amount: usize) -> Range<usize>

fn add_start(&self, amount: usize) -> Range<usize>

fn sub_end(&self, amount: usize) -> Range<usize>

fn add_end(&self, amount: usize) -> Range<usize>

Loading content...

Implementations on Foreign Types

impl Span for TextRange[src]

impl<T> Span for Range<T> where
    T: Clone + Into<usize>, 
[src]

impl<T> Span for SyntaxNode<T> where
    T: Language, 
[src]

impl<T> Span for NodeOrToken<SyntaxNode<T>, SyntaxToken<T>> where
    T: Language, 
[src]

impl<T> Span for SyntaxToken<T> where
    T: Language, 
[src]

impl<'_, T> Span for &'_ T where
    T: Span
[src]

impl<'_, T> Span for &'_ mut T where
    T: Span
[src]

Loading content...

Implementors

Loading content...