Add lexeme 'first' field, refactor and add methods
This commit is contained in:
parent
e42c67676d
commit
c53afefb67
9 changed files with 98 additions and 50 deletions
|
|
@ -15,14 +15,14 @@ impl CheckBox {
|
|||
|
||||
impl Parseable for CheckBox {
|
||||
fn probe(lexeme: &Lexeme) -> bool {
|
||||
lexeme.match_triple_as_char(('[', ' ', ']'))
|
||||
|| lexeme.match_triple_as_char(('[', 'x', ']'))
|
||||
lexeme.match_char_triple('[', ' ', ']')
|
||||
|| lexeme.match_char_triple('[', 'x', ']')
|
||||
}
|
||||
|
||||
fn lex(lexeme: &Lexeme) -> CheckBox {
|
||||
use crate::prelude::*;
|
||||
log!("Lexing: {lexeme}");
|
||||
if lexeme.match_next_as_char('x') {
|
||||
if lexeme.match_next_char('x') {
|
||||
CheckBox::new(true)
|
||||
} else {
|
||||
CheckBox::new(false)
|
||||
|
|
|
|||
|
|
@ -83,7 +83,9 @@ impl Parseable for Header {
|
|||
== 0
|
||||
{
|
||||
let level = lexeme.text().len();
|
||||
lexeme.clone().split_words().len() == 1 && level > 0 && level <= 6
|
||||
lexeme.clone().split_segments().len() == 1
|
||||
&& level > 0
|
||||
&& level <= 6
|
||||
} else {
|
||||
false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ impl Paragraph {
|
|||
}
|
||||
|
||||
pub fn probe_end(lexeme: &Lexeme) -> bool {
|
||||
lexeme.match_as_char('\n') && lexeme.match_next_as_char('\n')
|
||||
lexeme.match_char('\n') && lexeme.match_next_char('\n')
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ impl Strike {
|
|||
|
||||
impl Parseable for Strike {
|
||||
fn probe(lexeme: &Lexeme) -> bool {
|
||||
lexeme.match_as_char('~') && lexeme.match_next_as_char('~')
|
||||
lexeme.match_char('~') && lexeme.match_next_char('~')
|
||||
}
|
||||
|
||||
fn lex(_lexeme: &Lexeme) -> Strike {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ impl Underline {
|
|||
|
||||
impl Parseable for Underline {
|
||||
fn probe(lexeme: &Lexeme) -> bool {
|
||||
lexeme.match_as_char('_') && lexeme.match_next_as_char('_')
|
||||
lexeme.match_char('_') && lexeme.match_next_char('_')
|
||||
}
|
||||
|
||||
fn lex(_lexeme: &Lexeme) -> Underline {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue