From c2020b0d7f4fbdc5ac732abd0255a84a3fdaaefd Mon Sep 17 00:00:00 2001 From: gemmaro Date: Sun, 13 Jun 2021 21:48:29 +0900 Subject: [PATCH] Generalize string types to take as arguments `asciidoctor_rs::parse` and `asciidoctor_rs::parsing::tokenizer::Tokenizer::new` will take the more generic string types as arguments. --- src/lib.rs | 2 +- src/parsing/tokenizer.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index a93f644..6ee35c0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -25,7 +25,7 @@ pub(crate) mod utils; /// ```rust /// let expression = asciimath_rs::parse("sin(2x) + 3".to_string()); /// ``` -pub fn parse(content: String) -> Expression { +pub fn parse>(content: S) -> Expression { let mut tokenizer = Tokenizer::new(content); let tokens = tokenizer.parse(); let mut tree_parser = TreeParser::new(tokens); diff --git a/src/parsing/tokenizer.rs b/src/parsing/tokenizer.rs index 0cfa27c..3591439 100644 --- a/src/parsing/tokenizer.rs +++ b/src/parsing/tokenizer.rs @@ -19,8 +19,8 @@ pub struct Tokenizer { } impl Tokenizer { - pub fn new(text: String) -> Self { - let mut chars = text.chars().collect::>(); + pub fn new>(text: S) -> Self { + let mut chars = text.as_ref().chars().collect::>(); chars.push('\n'); Self { ctm: CharTapeMachine::new(chars),