bacon is a background rust code checker.
It's designed for minimal interaction so that you can just let it running, side to your editor, and be notified of warnings and errors in your Rust code.
cargo install bacon
You launch bacon
in a terminal you keep visible.
bacon
bacon --path ../broot
or
bacon ../broot
bacon --job clippy
or
bacon clippy
bacon test
First create a bacon.toml
file by running
bacon --init
This file already contains some standard jobs. Add your own, for example
[jobs.check-win]
command = ["cargo", "check", "--target", "x86_64-pc-windows-gnu", "--color", "always"]
Don't forget the --color always
part: bacon uses style information to recognize warnings and errors.
and run
bacon check-win
It watches the content of your source directories and launches cargo check
or other commands on changes.
Watching and computations are done on background threads to prevent any blocking.
The screen isn't cleaned until the compilation is finished to prevent useful information from being replaced by the lines of an unfinished computation.
Errors are displayed before warnings because you usually want to fix them first.
Rendering is adapted to the dimensions of the terminal to ensure you get a proper usable report. And bacon manages rewrapping on resize.
It's perfectly OK and can be useful to check several compilation targets.
Similarly you don't have to stop bacon when you want to use cargo to build the application.
It works on all decent terminals on Linux, Max OSX and Windows.
Yes, they let you enable vim-like key bindings, or always start in summary mode or with lines wrapped.
To create a default preferences file, use bacon --prefs
.
Shortcut:
$EDITOR $(bacon --prefs)
- It's a background conpiler.
- It comes from France and, as you know, France is bacon.
Bacon is licenced under AGPL-3.0.
The logo is designed by Peter Varo and licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.