pub trait NodeDisplay: Sized {
    // Required methods
    fn name() -> Option<&'static str>;
    fn start(&self) -> Option<TextSize>;
    fn end(&self) -> Option<TextSize>;
    fn source_id(&self) -> Option<FileId>;
    fn display(&self) -> NodeDisplayWrapper<'_, Self>;
    fn display_extra(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
    fn display_children(
        &self,
        level: usize,
        f: &mut Formatter<'_>
    ) -> Result<(), Error>;
}
Expand description

Trait for displaying a syntax node

Required Methods§

source

fn name() -> Option<&'static str>

Name of the syntax node’s type

source

fn start(&self) -> Option<TextSize>

Starting position of the node

source

fn end(&self) -> Option<TextSize>

Ending position of the node

source

fn source_id(&self) -> Option<FileId>

Source id of the node

source

fn display(&self) -> NodeDisplayWrapper<'_, Self>

Obtain a display wrapper for the current node

source

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

Display extra information for the node

Parameters
  • f: formatter to output to
source

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

Display the node’s children

Parameters
  • level: current indentation level
  • f: formatter to output to

Object Safety§

This trait is not object safe.

Implementors§