diff options
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(()) -} | 
