#![doc = include_str!("../README.md")]
mod parse;
mod typedata;
pub mod usage;
pub use jimtcl as jim;
pub use jimtcl::{Interp, JimError, JimObject, JimResult};
pub fn guardian_interp() -> JimResult<Interp> {
let interp = Interp::new()?;
interp.add_command("parse json", parse::parse_json)?;
interp.add_command("parse toml", parse::parse_toml)?;
interp.add_command("parse yaml", parse::parse_yaml)?;
interp.eval("ensemble parse")?;
interp.add_command("td type", typedata::td_type)?;
interp.add_command("td length", typedata::td_length)?;
interp.add_command("td null", typedata::td_null)?;
interp.add_command("td boolean", typedata::td_boolean)?;
interp.add_command("td integer", typedata::td_integer)?;
interp.add_command("td float", typedata::td_float)?;
interp.add_command("td string", typedata::td_string)?;
interp.add_command("td list", typedata::td_list)?;
interp.add_command("td record", typedata::td_record)?;
interp.add_command("td get", typedata::td_get)?;
interp.add_command("td set", typedata::td_set)?;
interp.add_command("td lappend", typedata::td_lappend)?;
interp.add_command("td native", typedata::td_native)?;
interp.add_command("td parse json", typedata::td_parse_json)?;
interp.add_command("td parse yaml", typedata::td_parse_yaml)?;
interp.add_command("td parse toml", typedata::td_parse_toml)?;
interp.eval("ensemble {td parse}")?;
interp.eval("ensemble td")?;
Ok(interp)
}