diff options
| author | Philipp A | 2019-12-26 23:01:00 +0100 |
|---|---|---|
| committer | Philipp A | 2019-12-26 23:36:48 +0100 |
| commit | a0e3c53758d526bb418c068bce1c99fa5a597ed3 (patch) | |
| tree | e640238b011a9ea7806ccccaf1a435e4b371a376 /src/bin.rs | |
| parent | 7018f5d3c42f18b6c83f398db9f1915361a7c679 (diff) | |
| download | rust-rst-a0e3c53758d526bb418c068bce1c99fa5a597ed3.tar.bz2 | |
Split into smaller crates
Diffstat (limited to 'src/bin.rs')
| -rw-r--r-- | src/bin.rs | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/bin.rs b/src/bin.rs deleted file mode 100644 index 394b416..0000000 --- a/src/bin.rs +++ /dev/null @@ -1,55 +0,0 @@ -#![recursion_limit="256"] - -pub mod document_tree; -pub mod parser; -pub mod renderer; -pub mod url; - - -use structopt::StructOpt; -use clap::{_clap_count_exprs, arg_enum}; -use quicli::{ - fs::read_file, - prelude::{CliResult,Verbosity}, -}; - -use self::parser::parse; -use self::renderer::{ - render_json, - render_xml, - render_html, -}; - -arg_enum! { - #[derive(Debug)] - #[allow(non_camel_case_types)] - enum Format { json, xml, html } -} - -#[derive(Debug, StructOpt)] -#[structopt(raw(setting = "structopt::clap::AppSettings::ColoredHelp"))] -struct Cli { - #[structopt( - long = "format", short = "f", default_value = "html", // xml is pretty defunct… - raw(possible_values = "&Format::variants()", case_insensitive = "true"), - )] - format: Format, - file: String, - #[structopt(flatten)] - verbosity: Verbosity, -} - -fn main() -> CliResult { - let args = Cli::from_args(); - args.verbosity.setup_env_logger("rst")?; - - let content = read_file(args.file)?; - let document = parse(&content)?; - let stdout = std::io::stdout(); - match args.format { - Format::json => render_json(&document, stdout)?, - Format::xml => render_xml (&document, stdout)?, - Format::html => render_html(&document, stdout, true)?, - } - Ok(()) -} |
