summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-11-19 14:45:49 +0100
committerMatthias Beyer <mail@beyermatthias.de>2017-11-19 15:05:00 +0100
commit95e07f51a2cc3e04f356d15497da7278d75523fd (patch)
tree4a23694727212d2cac0f1cf7c084129a75f7f27d
parente12aaac56d7375515cb9c7c468d6d65dfa1ae76f (diff)
Adapt example CLI tool to new interface
-rw-r--r--examples/main.rs26
1 files changed, 21 insertions, 5 deletions
diff --git a/examples/main.rs b/examples/main.rs
index 920accc..3c301cf 100644
--- a/examples/main.rs
+++ b/examples/main.rs
@@ -6,15 +6,31 @@ fn main() {
let s = s.trim(); // because kairos is not yet whitespace tolerant
println!("Parsing: '{}'", s);
- match kairos::timetype::TimeType::parse(&s) {
- Ok(tt) => {
- println!("{:?}", tt);
+ match kairos::parser::parse(s) {
+ Err(e) => println!("Error -> {:?}", e),
+ Ok(kairos::parser::Parsed::TimeType(tt)) => {
+ println!("Having TimeType");
match tt.calculate() {
- Ok(r) => println!("{:?}", r),
+ Ok(r) => println!("{:?}", r),
Err(e) => println!("Error calculating: {:?}", e),
}
},
- Err(e) => println!("Error -> {:?}", e),
+ Ok(kairos::parser::Parsed::Iterator(Ok(ui))) => {
+ println!("Having iterator");
+
+ for elem in ui {
+ match elem {
+ Ok(r) => println!("{:?}", r),
+ Err(e) => {
+ println!("Error calculating: {:?}", e);
+ ::std::process::exit(1)
+ }
+ }
+ }
+ },
+ Ok(kairos::parser::Parsed::Iterator(Err(e))) => {
+ println!("Failed building iterator: {:?}", e);
+ },
}
}