Addition of build.rs script in project root
This will allow for clap to generate cli completions and is also why clap is now listed as a build dependency
Some constants have been moved from args.rs to app.rs in the brix_cli crate
This is to support the build.rs script so that it doesn't have to import any more than just app.rs since the file no longer uses args.rs
use crate::args;
use clap::{self, crate_authors, crate_version, App, AppSettings, Arg};
There is now a select implementation in brix_cli that uses dialoguer
brix_config_loader's process function now takes in multiple files and filters by extension
The config loader's load function has now also been split up into load and run to support the main part of the application receiving a file from the load function to help with displaying errors
let config_file = loader.load(declarations)?;
let commands = loader.run().or_else(|err| { // etc.
Positional arguments and global context is now a part of the context in ProcessedCommandParams when created in the config loader
This helps out with templating and also makes more sense in general
Execution time for running commands is now measured and displayed upon successful completion
Important changes to note:
build.rs
script in project root This will allow for clap to generate cli completions and is also why clap is now listed as a build dependencyargs.rs
toapp.rs
in thebrix_cli
crate This is to support thebuild.rs
script so that it doesn't have to import any more than justapp.rs
since the file no longer usesargs.rs
brix_cli
that uses dialoguerbrix_config_loader
's process function now takes in multiple files and filters by extensionload
function has now also been split up intoload
andrun
to support the main part of the application receiving a file from the load function to help with displaying errorscontext
inProcessedCommandParams
when created in the config loader This helps out with templating and also makes more sense in general