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§
Sourcefn scan_plain_scalar(&mut self) -> Result<Token>
fn scan_plain_scalar(&mut self) -> Result<Token>
Scan a plain scalar (unquoted string)
Sourcefn scan_quoted_string(&mut self, quote_char: char) -> Result<Token>
fn scan_quoted_string(&mut self, quote_char: char) -> Result<Token>
Scan a quoted string (single or double quotes)
Sourcefn scan_number(&mut self) -> Result<Token>
fn scan_number(&mut self) -> Result<Token>
Scan a number (integer or float)
Sourcefn scan_literal_block_scalar(&mut self) -> Result<Token>
fn scan_literal_block_scalar(&mut self) -> Result<Token>
Scan a literal block scalar (|)
Sourcefn scan_folded_block_scalar(&mut self) -> Result<Token>
fn scan_folded_block_scalar(&mut self) -> Result<Token>
Scan a folded block scalar (>)
Sourcefn scan_block_scalar_header(&mut self) -> Result<(bool, Option<usize>)>
fn scan_block_scalar_header(&mut self) -> Result<(bool, Option<usize>)>
Scan block scalar header for chomping and indentation
Sourcefn current_position(&self) -> Position
fn current_position(&self) -> Position
Helper: get current position
Sourcefn current_char(&self) -> Option<char>
fn current_char(&self) -> Option<char>
Helper: peek at current character
Sourcefn advance_char(&mut self) -> Option<char>
fn advance_char(&mut self) -> Option<char>
Helper: advance to next character
Sourcefn at_line_start(&self) -> bool
fn at_line_start(&self) -> bool
Helper: check if at line start
Implementors§
impl ScalarScanner for BasicScanner
Implementation of ScalarScanner for BasicScanner