blob: 3ec4227474d2abd292a303d9b7cffcebaeebec3a [file] [log] [blame] [view]
# BAT CLI
The Block Applicability Tool(BAT) is a CLI processor for features,configurations and substitutions on arbitrary files. Some file types have already been configured by default.
- Default Supported Types
- Markdown(.md)
## Development Setup
### Prerequisites
- Install rust according to https://www.rust-lang.org/tools/install
### Building
- Run cargo build
- This can be run with release flag and should be compatible with most tier 1/2 rust targets https://doc.rust-lang.org/nightly/rustc/platform-support.html
- Bazel - TBD waiting on rules_rust 0.37.0
## Dependencies
- Cargo
- rustc 1.74
- Serde
- Serde JSON
- Clap
## Running
Help documentation can be seen by running the executable with a -h flag.
Of note, mixed file types aren't supported as of yet, however the processor can be run with the same commands but different set of files in the same folder to produce a desired output.
Available flags currently:
- a/applicability-config: This is the path to the config file that houses the configurations, features and substitutions.
- o/out-dir: This is the path to place output files.
- s/srcs: This is the path to each source file that should be processed.
- b/begin-comment-syntax: This is the start of a comment in the file type in order to recognize features & configurations.
- e/end-comment-syntax: This is the end of a comment in the file type in order to recognize features & configurations
- V/version: Prints the version of the BAT CLI being run.