From 9051df9d8f13195f03ad4639f01fc9b3788dcaf6 Mon Sep 17 00:00:00 2001 From: takurinton Date: Tue, 25 Jun 2024 09:03:52 +0900 Subject: [PATCH] fix --- markdown/src/lexer.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/markdown/src/lexer.rs b/markdown/src/lexer.rs index 5a91a7e..f623111 100644 --- a/markdown/src/lexer.rs +++ b/markdown/src/lexer.rs @@ -56,7 +56,7 @@ impl<'a> Lexer<'a> { if self.peek_char() == Some(' ') { Some(self.read_list()) } else { - Some(self.skip()) + Some(self.read_text()) } } Some('`') => Some(self.read_code_block_or_inline_code()), @@ -328,7 +328,7 @@ impl<'a> Lexer<'a> { fn read_text(&mut self) -> Token { let start = self.position; while let Some(ch) = self.ch { - if ch == '#' || ch == '*' || ch == '[' || ch == '-' || ch == '\n' { + if ch == '\n' { break; } self.read_char(); @@ -336,11 +336,6 @@ impl<'a> Lexer<'a> { Token::Paragraph(self.input[start..self.position].to_string()) } - fn skip(&mut self) -> Token { - self.read_char(); - Token::Empty - } - // fn read_ordered_list(&mut self) -> Token {} fn read_link_card(&mut self) -> Token { @@ -473,6 +468,14 @@ mod tests { assert_eq!(token, Some(Token::Paragraph("Normal text".to_string()))); } + #[test] + fn test_next_token_paragraph2() { + let input = "SHA-256\n"; + let mut lexer = Lexer::new(input); + let token = lexer.next_token(); + assert_eq!(token, Some(Token::Paragraph("SHA-256".to_string()))); + } + #[test] fn test_next_token_multiple() { let input = "# Title\n**Bold**\n*Italic*\n[Link](https://example.com)\n";