diff options
author | Minijackson <minijackson@riseup.net> | 2019-09-08 16:15:46 +0200 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2019-11-10 16:37:59 +0100 |
commit | 3301430c676e4af6b95d96b6408a66f9d2768653 (patch) | |
tree | 12810ce81a3b1d3cb23270fc5119016d5f6c325a /src/main.rs | |
download | poseidoc-3301430c676e4af6b95d96b6408a66f9d2768653.tar.gz poseidoc-3301430c676e4af6b95d96b6408a66f9d2768653.zip |
First version
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 44 |
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; | ||
2 | mod cli; | ||
3 | mod entities; | ||
4 | mod generator; | ||
5 | mod pandoc; | ||
6 | mod parsing; | ||
7 | |||
8 | #[macro_use] | ||
9 | extern crate log; | ||
10 | |||
11 | use cli::Command; | ||
12 | use generator::generate; | ||
13 | use parsing::parse_file; | ||
14 | |||
15 | use anyhow::Result; | ||
16 | use structopt::StructOpt; | ||
17 | |||
18 | fn 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 | } | ||