rnix

Type Alias SyntaxElement

source
pub type SyntaxElement = NodeOrToken<SyntaxNode, SyntaxToken>;

Aliased Type§

enum SyntaxElement {
    Node(SyntaxNode<NixLanguage>),
    Token(SyntaxToken<NixLanguage>),
}

Variants§

Implementations

source§

impl<N, T> NodeOrToken<N, T>

source

pub fn into_node(self) -> Option<N>

source

pub fn into_token(self) -> Option<T>

source

pub fn as_node(&self) -> Option<&N>

source

pub fn as_token(&self) -> Option<&T>

source§

impl<L> NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>
where L: Language,

source

pub fn text_range(&self) -> TextRange

source

pub fn index(&self) -> usize

source

pub fn kind(&self) -> <L as Language>::Kind

source

pub fn parent(&self) -> Option<SyntaxNode<L>>

source

pub fn ancestors(&self) -> impl Iterator<Item = SyntaxNode<L>>

source

pub fn next_sibling_or_token( &self, ) -> Option<NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>>

source

pub fn prev_sibling_or_token( &self, ) -> Option<NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>>

source

pub fn detach(&self)

Trait Implementations

source§

impl<N, T> Clone for NodeOrToken<N, T>
where N: Clone, T: Clone,

source§

fn clone(&self) -> NodeOrToken<N, T>

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<N, T> Debug for NodeOrToken<N, T>
where N: Debug, T: Debug,

source§

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

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

impl<N, T> Display for NodeOrToken<N, T>
where N: Display, T: Display,

source§

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

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

impl<L> From<NodeOrToken<SyntaxNode, SyntaxToken>> for NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>
where L: Language,

source§

fn from( raw: NodeOrToken<SyntaxNode, SyntaxToken>, ) -> NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>

Converts to this type from the input type.
source§

impl<L> From<SyntaxNode<L>> for NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>
where L: Language,

source§

fn from(node: SyntaxNode<L>) -> NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>

Converts to this type from the input type.
source§

impl<L> From<SyntaxToken<L>> for NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>
where L: Language,

source§

fn from(token: SyntaxToken<L>) -> NodeOrToken<SyntaxNode<L>, SyntaxToken<L>>

Converts to this type from the input type.
source§

impl<N, T> Hash for NodeOrToken<N, T>
where N: Hash, T: Hash,

source§

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

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<N, T> Ord for NodeOrToken<N, T>
where N: Ord, T: Ord,

source§

fn cmp(&self, other: &NodeOrToken<N, T>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
source§

impl<N, T> PartialEq for NodeOrToken<N, T>
where N: PartialEq, T: PartialEq,

source§

fn eq(&self, other: &NodeOrToken<N, T>) -> 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<N, T> PartialOrd for NodeOrToken<N, T>
where N: PartialOrd, T: PartialOrd,

source§

fn partial_cmp(&self, other: &NodeOrToken<N, T>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<N, T> Copy for NodeOrToken<N, T>
where N: Copy, T: Copy,

source§

impl<N, T> Eq for NodeOrToken<N, T>
where N: Eq, T: Eq,

source§

impl<N, T> StructuralPartialEq for NodeOrToken<N, T>