Trait ScalarScanner

Source
pub trait ScalarScanner {
    // Required methods
    fn scan_plain_scalar(&mut self) -> Result<Token>;
    fn scan_quoted_string(&mut self, quote_char: char) -> Result<Token>;
    fn scan_number(&mut self) -> Result<Token>;
    fn scan_literal_block_scalar(&mut self) -> Result<Token>;
    fn scan_folded_block_scalar(&mut self) -> Result<Token>;
    fn scan_block_scalar_header(&mut self) -> Result<(bool, Option<usize>)>;
    fn current_position(&self) -> Position;
    fn current_char(&self) -> Option<char>;
    fn advance_char(&mut self) -> Option<char>;
    fn peek_char(&self, offset: usize) -> Option<char>;
    fn at_line_start(&self) -> bool;
}
Expand description

Trait for scanning scalar values

Required Methods§

Source

fn scan_plain_scalar(&mut self) -> Result<Token>

Scan a plain scalar (unquoted string)

Source

fn scan_quoted_string(&mut self, quote_char: char) -> Result<Token>

Scan a quoted string (single or double quotes)

Source

fn scan_number(&mut self) -> Result<Token>

Scan a number (integer or float)

Source

fn scan_literal_block_scalar(&mut self) -> Result<Token>

Scan a literal block scalar (|)

Source

fn scan_folded_block_scalar(&mut self) -> Result<Token>

Scan a folded block scalar (>)

Source

fn scan_block_scalar_header(&mut self) -> Result<(bool, Option<usize>)>

Scan block scalar header for chomping and indentation

Source

fn current_position(&self) -> Position

Helper: get current position

Source

fn current_char(&self) -> Option<char>

Helper: peek at current character

Source

fn advance_char(&mut self) -> Option<char>

Helper: advance to next character

Source

fn peek_char(&self, offset: usize) -> Option<char>

Helper: peek at next character

Source

fn at_line_start(&self) -> bool

Helper: check if at line start

Implementors§

Source§

impl ScalarScanner for BasicScanner

Implementation of ScalarScanner for BasicScanner