You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			|  | 6 years ago | |
|---|---|---|
| examples | 6 years ago | |
| src | 6 years ago | |
| .gitignore | 6 years ago | |
| Cargo.toml | 6 years ago | |
| LICENSE.txt | 6 years ago | |
| README.md | 6 years ago | |
		
			
				
				README.md
			
		
		
			
			
		
	
	clappconfig - CLI app config boilerplate
Clap
  App
     Config
-----------
clappconfig
This crate provides a simple CLI app boilerplate that takes care of the most repetitive init tasks:
- Load JSON5 config from a custom or default path (or use Default::default())
- Set up logging, with CLI and config-based overrides
- Optionally print the loaded or default config
- Show help / version on demand, courtesy of clap
- Optional start-up banner print
Supports custom clap arguments as well.
-> The repository is open to improvement PRs.
Logging
- uses env_loggerby default
- level can be set in the config file
- log level can be overridden by the --logCLI flag
- log level can be increased by repeated use of -vor--verbose
Re-exports
The crates re-exports crates used in public API: clap, anyhow, log.
Example
See the examples directory.
The example called "rotn" implements rot13 as a command-line tool.
$ cargo run --example rotn -- -h
Rot-N 0.1.0 by Ondřej Hruška <ondra@ondrovo.com>
USAGE:
    rotn [FLAGS] [OPTIONS] --input <FILE>
FLAGS:
        --default-config    Print the default config JSON for reference (or to be piped to a file)
        --dump-config       Print the loaded config struct
    -h, --help              Prints help information
    -V, --version           Prints version information
    -v, --verbose           Increase logging verbosity (repeat to increase)
OPTIONS:
    -c, --config <FILE>    Sets a custom config file (JSON5)
    -i, --input <FILE>     Input file
        --log <LEVEL>      Set logging verbosity (error,warning,info,debug,trace)
    -n, --shift <N>        Positive or negative shift, default 13
To get rot13 of this README, run cargo run --example rotn -- -iREADME.md.