#![allow(unused)]
mod errors;
pub use errors::{Error, Result};
pub mod ast;
pub mod macros;
use std::collections::BTreeMap;
pub use ast::{Token, Variable};
pub mod color;
pub mod config;
pub mod resolve;
use std::collections::VecDeque;
pub use config::{Config, VcsConfig};
use iocore::Path;
#[derive(Parser, Debug, Clone)]
#[grammar = "src/grammar.pest"]
pub struct Definition;
use pest::Parser;
use pest_derive::Parser;
pub fn parse_tokens(input: &str) -> Result<Vec<Token>> {
let mut pairs = match Definition::parse(Rule::ps1, input)
.map_err(|e| Error::ParseError(e.to_string()))
{
Ok(pairs) => pairs,
Err(e) => {
eprintln!("warning: {}", &e);
return Ok(Token::default_vec());
},
};
let ps1 = pairs.next().unwrap();
let tokens = Token::from_pair(ps1)?;
Ok(tokens)
}
#[cfg(test)]
mod tests {
use k9::assert_equal;
use crate::{parse_tokens, Result, Token, Variable};
}