20 lines
439 B
Rust
20 lines
439 B
Rust
|
use super::interface::Tokenizer;
|
||
|
use crate::token::Token;
|
||
|
use std::{iter::Peekable, str::CharIndices};
|
||
|
|
||
|
pub struct Newline;
|
||
|
impl Tokenizer for Newline {
|
||
|
fn run(
|
||
|
&self,
|
||
|
c: (usize, char),
|
||
|
_chars: &mut Peekable<CharIndices<'_>>,
|
||
|
_source: &str,
|
||
|
_line: usize,
|
||
|
) -> Option<(usize, Option<Token>)> {
|
||
|
match c.1 {
|
||
|
'\n' => Some((1, None)),
|
||
|
_ => None,
|
||
|
}
|
||
|
}
|
||
|
}
|