summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2019-09-08 16:15:46 +0200
committerMinijackson <minijackson@riseup.net>2019-11-10 16:37:59 +0100
commit3301430c676e4af6b95d96b6408a66f9d2768653 (patch)
tree12810ce81a3b1d3cb23270fc5119016d5f6c325a /src/main.rs
downloadposeidoc-3301430c676e4af6b95d96b6408a66f9d2768653.tar.gz
poseidoc-3301430c676e4af6b95d96b6408a66f9d2768653.zip
First version
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
new file mode 100644
index 0000000..e1d4752
--- /dev/null
+++ b/src/main.rs
@@ -0,0 +1,44 @@
1//mod doxygen;
2mod cli;
3mod entities;
4mod generator;
5mod pandoc;
6mod parsing;
7
8#[macro_use]
9extern crate log;
10
11use cli::Command;
12use generator::generate;
13use parsing::parse_file;
14
15use anyhow::Result;
16use structopt::StructOpt;
17
18fn main() -> Result<()> {
19 let cli = cli::Cli::from_args();
20 pretty_env_logger::formatted_builder()
21 .filter(
22 None,
23 match cli.verbosity {
24 // Warnings and errors for internal warnings / errors
25 0 => log::LevelFilter::Warn,
26 1 => log::LevelFilter::Info,
27 2 => log::LevelFilter::Debug,
28 _ => log::LevelFilter::Trace,
29 },
30 )
31 .try_init()?;
32
33 match cli.command {
34 Command::Generate { file } => {
35 let extra_args = cli.extra_arg.iter().flatten().map(AsRef::as_ref).collect();
36 let manager = parse_file(file, extra_args);
37
38 let base_output_dir = std::path::Path::new("doc");
39 generate(&base_output_dir, manager)?;
40 }
41 }
42
43 Ok(())
44}