NodeResult

Type Alias NodeResult 

Source
pub type NodeResult<'tree, T> = Result<T, IncorrectKind<'tree>>;
Expand description

Result of attempting to wrap a node

Aliased Type§

pub enum NodeResult<'tree, T> {
    Ok(T),
    Err(IncorrectKind<'tree>),
}

Variants§

§1.0.0

Ok(T)

Contains the success value

§1.0.0

Err(IncorrectKind<'tree>)

Contains the error value

Trait Implementations§

Source§

impl<'tree, T: Node<'tree>> Node<'tree> for NodeResult<'tree, T>

Source§

const KIND: &'static str = "{result}"

Kind of nodes this wraps. Read more
Source§

type WithLifetime<'a> = Result<<T as Node<'tree>>::WithLifetime<'a>, IncorrectKind<'a>>

The same type, but with a different lifetime.
Source§

fn try_from_raw(node: Node<'tree>) -> NodeResult<'tree, Self>

Check that the tree-sitter node is the correct kind, and if it is, wrap. Read more
Source§

unsafe fn from_raw_unchecked(node: Node<'tree>) -> Self

Assume that tree-sitter node is the correct kind and wrap. Read more
Source§

fn raw(&self) -> &Node<'tree>

The wrapped tree-sitter node. Read more
Source§

fn raw_mut(&mut self) -> &mut Node<'tree>

The wrapped tree-sitter node (mutable reference, rarely needed). Read more
Source§

fn into_raw(self) -> Node<'tree>

Destruct into the wrapped tree-sitter node. Read more
Source§

fn upcast(self) -> UntypedNode<'tree>

Upcast into an untyped node. Read more
Source§

fn utf8_text<'a>(&self, source: &'a [u8]) -> Result<&'a str, Utf8Error>

Source§

fn utf16_text<'a>(&self, source: &'a [u16]) -> &'a [u16]

Source§

fn prefixes(&self) -> impl Iterator<Item = UntypedNode<'tree>>

Returns any extra nodes before this one, e.g., comments. Read more
Source§

fn suffixes(&self) -> impl Iterator<Item = UntypedNode<'tree>>

Returns any extra nodes after this one, e.g., comments. Read more
Source§

fn walk(&self) -> TreeCursor<'tree>

Get a cursor for this node
Source§

fn parent(&self) -> Option<UntypedNode<'tree>>

Get the node’s immediate parent
Source§

fn next_named_sibling(&self) -> Option<UntypedNode<'tree>>

Get the node’s immediate named next sibling
Source§

fn prev_named_sibling(&self) -> Option<UntypedNode<'tree>>

Get the node’s immediate named previous sibling
Source§

fn named_child_count(&self) -> usize

Get the number of named children
Source§

fn to_sexp(&self) -> String

Print the node as an s-expression
Source§

fn kind(&self) -> &'static str

Get this node’s tree-sitter name. See tree-sitter’s Node::kind
Source§

fn is_named(&self) -> bool

Check if this node is named. See tree-sitter’s Node::is_named
Source§

fn has_changes(&self) -> bool

Check if this node has been edited
Source§

fn has_error(&self) -> bool

Check if this node represents a syntax error or contains any syntax errors anywhere within it
Source§

fn start_byte(&self) -> usize

Get the byte offset where this node starts
Source§

fn end_byte(&self) -> usize

Get the byte offset where this node ends
Source§

fn start_position(&self) -> Point

Get the row and column where this node starts
Source§

fn end_position(&self) -> Point

Get the row and column where this node ends
Source§

fn range(&self) -> Range

Get the byte range and row and column range where this node is located
Source§

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

Get the byte range where this node is located
Source§

fn edit(&mut self, edit: &InputEdit)

Edit this node to keep it in-sync with source code that has been edited. See tree-sitter’s Node::edit