///| SyntaxToken - A token in the red tree with navigation capabilities
pub(all) struct SyntaxToken {
green : GreenToken
parent : SyntaxNode
offset : TextSize
} derive(Eq, Show)
///|
pub fn SyntaxToken::new(
green : GreenToken,
parent : SyntaxNode,
offset : TextSize
) -> SyntaxToken {
SyntaxToken::{ green, parent, offset }
}
///|
pub fn SyntaxToken::kind(self : SyntaxToken) -> SyntaxKind {
self.green.kind()
}
///|
pub fn SyntaxToken::text(self : SyntaxToken) -> String {
self.green.text()
}
///|
pub fn SyntaxToken::text_range(self : SyntaxToken) -> TextRange {
TextRange::at(self.offset, self.green.text_len())
}
///|
pub fn SyntaxToken::text_len(self : SyntaxToken) -> TextSize {
self.green.text_len()
}
///|
pub fn SyntaxToken::parent(self : SyntaxToken) -> SyntaxNode {
self.parent
}
///|
pub fn SyntaxToken::green(self : SyntaxToken) -> GreenToken {
self.green
}