# This is a configuration file for the bacon tool # # Complete help on configuration: https://dystroy.org/bacon/config/ # # You may check the current default at # https://github.com/Canop/bacon/blob/main/defaults/default-bacon.toml default_job = "check" env.CARGO_TERM_COLOR = "always" [jobs.check] command = ["cargo", "check"] need_stdout = false [jobs.check-all] command = ["cargo", "check", "--all-targets"] need_stdout = false # Run clippy on the default target [jobs.clippy] command = ["cargo", "clippy"] need_stdout = false [jobs.aoc] command = ["cargo", "aoc"] need_stdout = true on_change_strategy = "kill_then_restart" # Run clippy on all targets # To disable some lints, you may change the job this way: # [jobs.clippy-all] # command = [ # "cargo", "clippy", # "--all-targets", # "--", # "-A", "clippy::bool_to_int_with_if", # "-A", "clippy::collapsible_if", # "-A", "clippy::derive_partial_eq_without_eq", # ] # need_stdout = false [jobs.clippy-all] command = ["cargo", "clippy", "--all-targets"] need_stdout = false # This job lets you run # - all tests: bacon test # - a specific test: bacon test -- config::test_default_files # - the tests of a package: bacon test -- -- -p config [jobs.test] command = ["cargo", "test"] need_stdout = true [jobs.nextest] command = [ "cargo", "nextest", "run", "--hide-progress-bar", "--failure-output", "final", ] need_stdout = true analyzer = "nextest" [jobs.doc] command = ["cargo", "doc", "--no-deps"] need_stdout = false # If the doc compiles, then it opens in your browser and bacon switches # to the previous job [jobs.doc-open] command = ["cargo", "doc", "--no-deps", "--open"] need_stdout = false on_success = "back" # so that we don't open the browser at each change # You can run your application and have the result displayed in bacon, # if it makes sense for this crate. [jobs.run] command = [ "cargo", "run", # put launch parameters for your program behind a `--` separator ] need_stdout = true allow_warnings = true background = true # Run your long-running application (eg server) and have the result displayed in bacon. # For programs that never stop (eg a server), `background` is set to false # to have the cargo run output immediately displayed instead of waiting for # program's end. # 'on_change_strategy' is set to `kill_then_restart` to have your program restart # on every change (an alternative would be to use the 'F5' key manually in bacon). # If you often use this job, it makes sense to override the 'r' key by adding # a binding `r = job:run-long` at the end of this file . [jobs.run-long] command = [ "cargo", "run", # put launch parameters for your program behind a `--` separator ] need_stdout = true allow_warnings = true background = false on_change_strategy = "kill_then_restart" # This parameterized job runs the example of your choice, as soon # as the code compiles. # Call it as # bacon ex -- my-example [jobs.ex] command = ["cargo", "run", "--example"] need_stdout = true allow_warnings = true # You may define here keybindings that would be specific to # a project, for example a shortcut to launch a specific job. # Shortcuts to internal functions (scrolling, toggling, etc.) # should go in your personal global prefs.toml file instead. [keybindings] # alt-m = "job:my-job" c = "job:clippy-all" # comment this to have 'c' run clippy on only the default target a = "job:aoc"