From 168a02f29f8f2a99b71fd61f794e8d96cc4286d8 Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Thu, 10 Sep 2020 12:54:09 +0800 Subject: [PATCH] refactor: delete scie-onig --- scie-grammar/src/grammar/grammar.rs | 2 +- scie-grammar/src/grammar/mod.rs | 2 +- scie-grammar/src/rule/abstract_rule.rs | 2 +- scie-grammar/src/rule/compiled_rule.rs | 6 ++-- scie-grammar/src/support/regex_source.rs | 2 +- scie-onig/Cargo.toml | 10 ------ scie-onig/src/lib.rs | 2 -- scie-onig/src/scie_scanner.rs | 11 ------- scie-scanner/src/scanner/mod.rs | 3 +- .../src/scanner}/scie_onig.rs | 2 +- .../scanner/{scanner.rs => scie_scanner.rs} | 32 +++++++++---------- 11 files changed, 26 insertions(+), 48 deletions(-) delete mode 100644 scie-onig/Cargo.toml delete mode 100644 scie-onig/src/lib.rs delete mode 100644 scie-onig/src/scie_scanner.rs rename {scie-onig/src => scie-scanner/src/scanner}/scie_onig.rs (77%) rename scie-scanner/src/scanner/{scanner.rs => scie_scanner.rs} (93%) diff --git a/scie-grammar/src/grammar/grammar.rs b/scie-grammar/src/grammar/grammar.rs index e9c50aa..f0ce347 100644 --- a/scie-grammar/src/grammar/grammar.rs +++ b/scie-grammar/src/grammar/grammar.rs @@ -10,7 +10,7 @@ use crate::rule::{ AbstractRule, BeginWhileRule, EmptyRule, IGrammarRegistry, IRuleFactoryHelper, IRuleRegistry, }; use core::cmp; -use scie_scanner::scanner::scanner::IOnigCaptureIndex; +use scie_scanner::scanner::scie_scanner::IOnigCaptureIndex; use std::fs::File; use std::io::Read; use std::path::Path; diff --git a/scie-grammar/src/grammar/mod.rs b/scie-grammar/src/grammar/mod.rs index bc8683d..8c51b0c 100644 --- a/scie-grammar/src/grammar/mod.rs +++ b/scie-grammar/src/grammar/mod.rs @@ -11,7 +11,7 @@ pub use self::grammar::Grammar; pub use self::scope_list_element::ScopeListElement; pub use self::scope_metadata::ScopeMetadata; pub use self::stack_element::StackElement; -use scie_scanner::scanner::scanner::IOnigCaptureIndex; +use scie_scanner::scanner::scie_scanner::IOnigCaptureIndex; #[derive(Debug, Clone, Serialize)] pub struct MatchRuleResult { diff --git a/scie-grammar/src/rule/abstract_rule.rs b/scie-grammar/src/rule/abstract_rule.rs index ab29c82..a2f0f5a 100644 --- a/scie-grammar/src/rule/abstract_rule.rs +++ b/scie-grammar/src/rule/abstract_rule.rs @@ -6,7 +6,7 @@ use crate::rule::{ use crate::support::regex_source::RegexSource; use core::fmt; use dyn_clone::{clone_trait_object, DynClone}; -use scie_scanner::scanner::scanner::IOnigCaptureIndex; +use scie_scanner::scanner::scie_scanner::IOnigCaptureIndex; pub enum RuleEnum { BeginEndRule(BeginEndRule), diff --git a/scie-grammar/src/rule/compiled_rule.rs b/scie-grammar/src/rule/compiled_rule.rs index 350abf3..3b038b7 100644 --- a/scie-grammar/src/rule/compiled_rule.rs +++ b/scie-grammar/src/rule/compiled_rule.rs @@ -1,15 +1,15 @@ -use scie_scanner::scanner::scanner::Scanner; +use scie_scanner::scanner::scie_scanner::ScieScanner; #[derive(Clone, Debug, Serialize)] pub struct CompiledRule { pub debug_reg_exps: Vec, pub rules: Vec, - pub scanner: Box, + pub scanner: Box, } impl CompiledRule { pub fn new(debug_reg_exps: Vec, rules: Vec) -> Self { - let scanner = Scanner::new(debug_reg_exps.clone()); + let scanner = ScieScanner::new(debug_reg_exps.clone()); CompiledRule { debug_reg_exps, rules, diff --git a/scie-grammar/src/support/regex_source.rs b/scie-grammar/src/support/regex_source.rs index 99fbb8f..2c35278 100644 --- a/scie-grammar/src/support/regex_source.rs +++ b/scie-grammar/src/support/regex_source.rs @@ -1,5 +1,5 @@ use regex::Regex; -use scie_scanner::scanner::scanner::IOnigCaptureIndex; +use scie_scanner::scanner::scie_scanner::IOnigCaptureIndex; pub struct RegexSource {} diff --git a/scie-onig/Cargo.toml b/scie-onig/Cargo.toml deleted file mode 100644 index 5f7b930..0000000 --- a/scie-onig/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "scie_onig" -version = "0.1.0" -authors = ["Phodal Huang "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -onig_sys = "69.5.1" diff --git a/scie-onig/src/lib.rs b/scie-onig/src/lib.rs deleted file mode 100644 index 6386a5d..0000000 --- a/scie-onig/src/lib.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod scie_onig; -pub mod scie_scanner; \ No newline at end of file diff --git a/scie-onig/src/scie_scanner.rs b/scie-onig/src/scie_scanner.rs deleted file mode 100644 index 5ef4e24..0000000 --- a/scie-onig/src/scie_scanner.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub struct ScieScanner {} - -impl ScieScanner { - pub fn new() -> Self { - ScieScanner {} - } - - pub fn find_next_match_sync(&self, str: String, start_position: i32) { - - } -} diff --git a/scie-scanner/src/scanner/mod.rs b/scie-scanner/src/scanner/mod.rs index a8df477..a89e29a 100644 --- a/scie-scanner/src/scanner/mod.rs +++ b/scie-scanner/src/scanner/mod.rs @@ -1 +1,2 @@ -pub mod scanner; +pub mod scie_scanner; +pub mod scie_onig; diff --git a/scie-onig/src/scie_onig.rs b/scie-scanner/src/scanner/scie_onig.rs similarity index 77% rename from scie-onig/src/scie_onig.rs rename to scie-scanner/src/scanner/scie_onig.rs index dadd166..5a48854 100644 --- a/scie-onig/src/scie_onig.rs +++ b/scie-scanner/src/scanner/scie_onig.rs @@ -1,4 +1,5 @@ use crate::scie_scanner::ScieScanner; +use crate::scanner::scie_scanner::ScieScanner; pub struct ScieOnig { @@ -7,7 +8,6 @@ pub struct ScieOnig { impl ScieOnig { pub fn create_onig_scanner(sources: Vec) -> ScieScanner { - ScieScanner::new() } } diff --git a/scie-scanner/src/scanner/scanner.rs b/scie-scanner/src/scanner/scie_scanner.rs similarity index 93% rename from scie-scanner/src/scanner/scanner.rs rename to scie-scanner/src/scanner/scie_scanner.rs index 63c70c3..ec3b5e6 100644 --- a/scie-scanner/src/scanner/scanner.rs +++ b/scie-scanner/src/scanner/scie_scanner.rs @@ -15,14 +15,14 @@ pub struct IOnigMatch { } #[derive(Debug, Clone, Serialize)] -pub struct Scanner { +pub struct ScieScanner { pub index: usize, pub patterns: Vec, } -impl Scanner { +impl ScieScanner { pub fn new(patterns: Vec) -> Self { - Scanner { index: 0, patterns } + ScieScanner { index: 0, patterns } } pub fn dispose(&mut self) { @@ -137,12 +137,12 @@ pub fn str_vec_to_string(iter: I) -> Vec #[cfg(test)] mod tests { - use crate::scanner::scanner::{str_vec_to_string, Scanner}; + use crate::scanner::scie_scanner::{str_vec_to_string, ScieScanner}; #[test] fn should_handle_simple_regex() { let regex = vec![String::from("ell"), String::from("wo")]; - let mut scanner = Scanner::new(regex); + let mut scanner = ScieScanner::new(regex); let s = String::from("Hello world!"); let result = scanner.find_next_match_sync(s.clone(), 0).unwrap(); assert_eq!(result.index, 0); @@ -158,7 +158,7 @@ mod tests { #[test] fn should_handle_simple2() { let regex = vec![String::from("a"), String::from("b"), String::from("c")]; - let mut scanner = Scanner::new(regex); + let mut scanner = ScieScanner::new(regex); if let None = scanner.find_next_match_sync(String::from("x"), 0) { assert_eq!(true, true); @@ -206,7 +206,7 @@ mod tests { #[test] fn should_handle_unicode1() { let regex = vec![String::from("1"), String::from("2")]; - let mut scanner = Scanner::new(regex); + let mut scanner = ScieScanner::new(regex); let result = scanner .find_next_match_sync(String::from("ab…cde21"), 5) @@ -221,7 +221,7 @@ mod tests { #[test] fn should_handle_unicode2() { - let mut scanner2 = Scanner::new(vec![String::from("\"")]); + let mut scanner2 = ScieScanner::new(vec![String::from("\"")]); let result2 = scanner2 .find_next_match_sync(String::from("{\"…\": 1}"), 1) .unwrap(); @@ -236,7 +236,7 @@ mod tests { #[test] fn should_handle_unicode3() { let regex = vec![String::from("Y"), String::from("X")]; - let mut scanner = Scanner::new(regex); + let mut scanner = ScieScanner::new(regex); let result = scanner .find_next_match_sync(String::from("a💻bYX"), 0) .unwrap(); @@ -290,7 +290,7 @@ mod tests { #[test] fn should_out_of_bounds() { - let mut scanner = Scanner::new(vec![String::from("X")]); + let mut scanner = ScieScanner::new(vec![String::from("X")]); let result = scanner .find_next_match_sync(String::from("X💻X"), -10000) .unwrap(); @@ -307,7 +307,7 @@ mod tests { #[test] fn should_handle_regex_g() { - let mut scanner = Scanner::new(vec![String::from("\\G-and")]); + let mut scanner = ScieScanner::new(vec![String::from("\\G-and")]); let result = scanner.find_next_match_sync(String::from("first-and-second"), 0); assert_eq!(format!("{:?}", result), "None"); @@ -339,7 +339,7 @@ mod tests { ]; let _rules = vec![2, 7, 28, 45, 48, 51, 61, 64, 66, 69, 77]; let debug_regex = str_vec_to_string(origin); - let mut scanner = Scanner::new(debug_regex); + let mut scanner = ScieScanner::new(debug_regex); let result = scanner.find_next_match_sync(String::from("%.o: %.c $(DEPS)"), 0); assert_eq!(3, result.unwrap().capture_indices.len()); } @@ -349,7 +349,7 @@ mod tests { let origin = vec!["(?=\\s|$)", "(\\$?\\$)[@%