GitHub - Canop/bacon: background code checker (original) (raw)
bacon is a background code checker.
It's designed for minimal interaction so that you can just let it run, alongside your editor, and be notified of warnings, errors, or test failures in your Rust code.
Documentation
The bacon website is a complete guide.
Below is only a short overview.
install
cargo install --locked bacon
Run this command too if you want to update bacon. Configuration has always been retro-compatible so you won't lose anything.
Some features are disabled by default. You may enable them with
cargo install --features "clipboard sound"
check the current project
That's how you'll usually launch bacon, because other jobs like test
, clippy
, doc
, your own ones, are just a key away: You'll hit c to see Clippy warnings, t for the tests, d to open the documentation, etc.
check another project
or
check all targets (tests, examples, benches, etc)
When there's no ambiguity, you may omit the --job
part:
run clippy instead of cargo check
This will run against all targets like check-all
does.
run tests
or bacon nextest
if you're a nextest user.
When there's a failure, hit f to restrict the job to the failing test. Hit esc to get back to all tests.
define your own jobs
First create a bacon.toml
file by running
This file already contains some standard jobs. Add your own, for example
[jobs.check-win] command = ["cargo", "check", "--target", "x86_64-pc-windows-gnu"]
or
[jobs.check-examples] command = ["cargo", "check", "--examples"] watch = ["examples"] # src is implicitly included
and run
or
The bacon.toml
file may evolve with the features and settings of your project and should be added to source control.
Optional features
Some bacon features can be disabled or enabled at compilation:
"clipboard"
- disabled by default : necessary for thecopy-unstyled-output
action"sound"
- disabled by default : necessary for theplay-sound
action
Licences
Bacon is licenced under AGPL-3.0. You're free to use it to compile the Rust projects of your choice, even commercial.
The logo is designed by Peter Varo and licensed under aCreative Commons Attribution-ShareAlike 4.0 International License.