Type object
File match bacon.toml **/bacon/prefs.toml
Schema URL https://catalog.lintel.tools/schemas/schemastore/bacon-config/latest.json
Source https://dystroy.org/bacon/.bacon.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

A configuration item which may be stored in various places, eg as bacon.toml along a Cargo.toml file or as prefs.toml in the xdg config directory.

Leaf values are options (and not Default) so that they don't override previously set values when applied to settings.

Properties

additional_alias_args array | null

Extra arguments appended when a job runs a cargo alias.

allow_failures boolean | null

Whether to consider that we can have a success when we have test failures

allow_warnings boolean | null

Whether to consider that we can have a success when we have warnings. This is especially useful for "cargo run" jobs

analyzer AnalyzerRef | null

The analyzer interpreting the output of the command, the standard cargo dedicated one if not provided

apply_gitignore boolean | null

Whether gitignore rules must be applied

background boolean | null

Whether to wait for the computation to finish before to display it on screen

This is true by default. Set it to false if you want the previous computation result to be replaced with the new one as soon as it starts.

command string[]

The tokens making the command to execute (first one is the executable).

Default:
[]
default_job string | null

Name of the job to run when no job was requested explicitly.

default_watch boolean | null

Whether to apply the default watch list, which is ["src", "tests", "benches", "examples", "build.rs"]

This is true by default. Set it to false if you want to watch nothing, or only the directories you set in watch.

env Record<string, string>

Env vars to set for this job execution

Default:
{}
expand_env_vars boolean | null

Whether to expand environment variables in the command

export ExportConfig | null

Deprecated single export configuration; use exports.locations instead.

export_locations boolean | null

Deprecated toggle for the legacy locations export; use exports.locations.auto

exports Record<string, object>

Export configurations keyed by their name.

extraneous_args boolean | null

Whether to insert extraneous arguments provided by bacon or end users

Eg: --all-features or anything after -- in bacon incantation

grace_period string | null

Minimum delay to wait before restarting the job after a change is detected.

help_line boolean | null

Whether to display the contextual help line

hide_scrollbar boolean | null

Whether to hide the scrollbar

ignore string[]

A list of glob patterns to ignore. Patterns starting with ! are negations that force-include matching paths, overriding other ignore rules (including .gitignore).

Default:
[]
ignored_lines array | null

Patterns of lines which should be ignored. Patterns of the prefs or bacon.toml can be overridden at the job

jobs Record<string, object>

Job definitions keyed by their identifier

keybindings KeyBindings | null

Custom keybindings layered on top of the defaults

kill array | null

A kill command. If not provided, SIGKILL is used.

listen boolean | null

Whether to listen for actions on a unix socket (if on unix)

need_stdout boolean | null

Whether we need to capture stdout too (stderr is always captured)

on_change_strategy OnChangeStrategy | null

How to handle changes: either immediately kill the current job then restart it, or wait for the current job to finish before restarting it.

on_failure string | null

The optional action to run when it's not a success

Default: null
on_success string | null

The optional action to run when there's no error, warning or test failures (depending on whether allow_warnings is true or false)

Could be made a vec in the future but that would involve explaining subtleties like the fact that those actions stop after the first one ending the mission or doing a refresh

Default: null
reverse boolean | null

Whether to display the mission output in reverse order.

show_changes_count boolean | null

Whether to display how many files triggered the current run.

show_command_error_code boolean | null

Whether to show the error code of commands. This is normally automatic, depending on warnings and errors found by the analyzers, but some commands may want to force it on (eg cargo run to show the error code of the binary being run even when there are rustc warnings).

skin object

Collection of optional color overrides for the Bacon UI.

34 nested properties
change_badge_bg integer | null

Background color of the change badge

  • default value: 6
change_badge_fg integer | null

Foreground color of the change badge

  • default value: 235
command_error_badge_bg integer | null

Background color of the command-error badge

  • default value: 9
command_error_badge_fg integer | null

Foreground color of the command-error badge

  • default value: 235
computing_bg integer | null

Background color of the "computing..." indicator

  • default value: 204
computing_fg integer | null

Foreground color of the "computing..." indicator

  • default value: 235
dismissed_badge_bg integer | null

Background color of the dismissed badge

  • default value: 6
dismissed_badge_fg integer | null

Foreground color of the dismissed badge

  • default value: 235
errors_badge_bg integer | null

Background color of the errors badge

  • default value: 9
errors_badge_fg integer | null

Foreground color of the errors badge

  • default value: 235
found_fg integer | null

Foreground color of search matches

  • default value: 208
found_selected_bg integer | null

Background color of the selected search match

  • default value: 208
job_label_badge_bg integer | null

Background color of the job label badge

  • default value: 204
job_label_badge_fg integer | null

Foreground color of the job label badge

  • default value: 235
key_fg integer | null

Foreground color used for key shortcuts in the UI

  • default value: 204
menu_bg integer | null

Background color used for menus

  • default value: 235
menu_border integer | null

Border color used for menus

  • default value: 234
menu_item_bg integer | null

Background color of individual menu items

  • default value: 235
menu_item_fg integer | null

Foreground color of menu items

  • default value: 250
menu_item_selected_bg integer | null

Background color of the selected menu item

  • default value: 239
menu_item_selected_fg integer | null

Foreground color of the selected menu item

  • default value: 255
project_name_badge_bg integer | null

Background color of the project name badge

  • default value: 240
project_name_badge_fg integer | null

Foreground color of the project name badge

  • default value: 255
search_input_prefix_fg integer | null

Foreground color of the '/' search prefix

  • default value: 208
search_summary_fg integer | null

Foreground color of the search summary

  • default value: 208
status_bg integer | null

Background color of the status line

  • default value: 239
status_fg integer | null

Foreground color of the status line

  • default value: 252
status_key_fg integer | null

Foreground color for key shortcuts displayed in the status line

  • default value: 204
test_fails_badge_bg integer | null

Background color of the failing-tests badge

  • default value: 208
test_fails_badge_fg integer | null

Foreground color of the failing-tests badge

  • default value: 235
test_pass_badge_bg integer | null

Background color of the passing-tests badge

  • default value: 2
test_pass_badge_fg integer | null

Foreground color of the passing-tests badge

  • default value: 254
warnings_badge_bg integer | null

Background color of the warnings badge

  • default value: 11
warnings_badge_fg integer | null

Foreground color of the warnings badge

  • default value: 235
sound object

Sound configuration.

2 nested properties
base_volume string | null

Base volume, acting as a multiplier for the volume of specific sounds.

enabled boolean | null

Whether sound notifications should be played.

summary boolean | null

Whether to show diagnostics summarized instead of full

vim_keys boolean | null

Deprecated toggle that enables a built-in set of Vim-style keybindings. Use keybindings instead

watch array | null

A list of directories that will be watched if the job is run on a package. src, examples, tests, and benches are implicitly included unless you set default_watch to false.

workdir string | null

An optional working directory for the job command, which would override the package directory.

wrap boolean | null

Whether to wrap long lines

Definitions

AnalyzerRef string

A stateless operator building a report from a list of command output lines.

Implementation routing will probably change at some point

BaconSkin object

Collection of optional color overrides for the Bacon UI.

change_badge_bg integer | null

Background color of the change badge

  • default value: 6
change_badge_fg integer | null

Foreground color of the change badge

  • default value: 235
command_error_badge_bg integer | null

Background color of the command-error badge

  • default value: 9
command_error_badge_fg integer | null

Foreground color of the command-error badge

  • default value: 235
computing_bg integer | null

Background color of the "computing..." indicator

  • default value: 204
computing_fg integer | null

Foreground color of the "computing..." indicator

  • default value: 235
dismissed_badge_bg integer | null

Background color of the dismissed badge

  • default value: 6
dismissed_badge_fg integer | null

Foreground color of the dismissed badge

  • default value: 235
errors_badge_bg integer | null

Background color of the errors badge

  • default value: 9
errors_badge_fg integer | null

Foreground color of the errors badge

  • default value: 235
found_fg integer | null

Foreground color of search matches

  • default value: 208
found_selected_bg integer | null

Background color of the selected search match

  • default value: 208
job_label_badge_bg integer | null

Background color of the job label badge

  • default value: 204
job_label_badge_fg integer | null

Foreground color of the job label badge

  • default value: 235
key_fg integer | null

Foreground color used for key shortcuts in the UI

  • default value: 204
menu_bg integer | null

Background color used for menus

  • default value: 235
menu_border integer | null

Border color used for menus

  • default value: 234
menu_item_bg integer | null

Background color of individual menu items

  • default value: 235
menu_item_fg integer | null

Foreground color of menu items

  • default value: 250
menu_item_selected_bg integer | null

Background color of the selected menu item

  • default value: 239
menu_item_selected_fg integer | null

Foreground color of the selected menu item

  • default value: 255
project_name_badge_bg integer | null

Background color of the project name badge

  • default value: 240
project_name_badge_fg integer | null

Foreground color of the project name badge

  • default value: 255
search_input_prefix_fg integer | null

Foreground color of the '/' search prefix

  • default value: 208
search_summary_fg integer | null

Foreground color of the search summary

  • default value: 208
status_bg integer | null

Background color of the status line

  • default value: 239
status_fg integer | null

Foreground color of the status line

  • default value: 252
status_key_fg integer | null

Foreground color for key shortcuts displayed in the status line

  • default value: 204
test_fails_badge_bg integer | null

Background color of the failing-tests badge

  • default value: 208
test_fails_badge_fg integer | null

Foreground color of the failing-tests badge

  • default value: 235
test_pass_badge_bg integer | null

Background color of the passing-tests badge

  • default value: 2
test_pass_badge_fg integer | null

Foreground color of the passing-tests badge

  • default value: 254
warnings_badge_bg integer | null

Background color of the warnings badge

  • default value: 11
warnings_badge_fg integer | null

Foreground color of the warnings badge

  • default value: 235
DefaultingChangeBadgeBg integer | null

Background color of the change badge

  • default value: 6
DefaultingChangeBadgeFg integer | null

Foreground color of the change badge

  • default value: 235
DefaultingCommandErrorBadgeBg integer | null

Background color of the command-error badge

  • default value: 9
DefaultingCommandErrorBadgeFg integer | null

Foreground color of the command-error badge

  • default value: 235
DefaultingComputingBg integer | null

Background color of the "computing..." indicator

  • default value: 204
DefaultingComputingFg integer | null

Foreground color of the "computing..." indicator

  • default value: 235
DefaultingDismissedBadgeBg integer | null

Background color of the dismissed badge

  • default value: 6
DefaultingDismissedBadgeFg integer | null

Foreground color of the dismissed badge

  • default value: 235
DefaultingErrorsBadgeBg integer | null

Background color of the errors badge

  • default value: 9
DefaultingErrorsBadgeFg integer | null

Foreground color of the errors badge

  • default value: 235
DefaultingFoundFg integer | null

Foreground color of search matches

  • default value: 208
DefaultingFoundSelectedBg integer | null

Background color of the selected search match

  • default value: 208
DefaultingJobLabelBadgeBg integer | null

Background color of the job label badge

  • default value: 204
DefaultingJobLabelBadgeFg integer | null

Foreground color of the job label badge

  • default value: 235
DefaultingKeyFg integer | null

Foreground color used for key shortcuts in the UI

  • default value: 204
DefaultingMenuBg integer | null

Background color used for menus

  • default value: 235
DefaultingMenuBorder integer | null

Border color used for menus

  • default value: 234
DefaultingMenuItemBg integer | null

Background color of individual menu items

  • default value: 235
DefaultingMenuItemFg integer | null

Foreground color of menu items

  • default value: 250
DefaultingMenuItemSelectedBg integer | null

Background color of the selected menu item

  • default value: 239
DefaultingMenuItemSelectedFg integer | null

Foreground color of the selected menu item

  • default value: 255
DefaultingProjectNameBadgeBg integer | null

Background color of the project name badge

  • default value: 240
DefaultingProjectNameBadgeFg integer | null

Foreground color of the project name badge

  • default value: 255
DefaultingSearchInputPrefixFg integer | null

Foreground color of the '/' search prefix

  • default value: 208
DefaultingSearchSummaryFg integer | null

Foreground color of the search summary

  • default value: 208
DefaultingStatusBg integer | null

Background color of the status line

  • default value: 239
DefaultingStatusFg integer | null

Foreground color of the status line

  • default value: 252
DefaultingStatusKeyFg integer | null

Foreground color for key shortcuts displayed in the status line

  • default value: 204
DefaultingTestFailsBadgeBg integer | null

Background color of the failing-tests badge

  • default value: 208
DefaultingTestFailsBadgeFg integer | null

Foreground color of the failing-tests badge

  • default value: 235
DefaultingTestPassBadgeBg integer | null

Background color of the passing-tests badge

  • default value: 2
DefaultingTestPassBadgeFg integer | null

Foreground color of the passing-tests badge

  • default value: 254
DefaultingWarningsBadgeBg integer | null

Background color of the warnings badge

  • default value: 11
DefaultingWarningsBadgeFg integer | null

Foreground color of the warnings badge

  • default value: 235
ExportConfig object

A generic configuration for all exports, whatever the exporter.

auto boolean | null

Whether the export should run automatically after each mission.

exporter Exporter | null

Exporter backend that should produce the output.

line_format string | null

Optional format string used by exporters that write line-based data.

path string | null

Destination path where the exporter writes its output.

Exporter string | string | string | string

Export backend.

Job object

One of the possible jobs that bacon can run

allow_failures boolean | null

Whether to consider that we can have a success when we have test failures

allow_warnings boolean | null

Whether to consider that we can have a success when we have warnings. This is especially useful for "cargo run" jobs

analyzer AnalyzerRef | null

The analyzer interpreting the output of the command, the standard cargo dedicated one if not provided

apply_gitignore boolean | null

Whether gitignore rules must be applied

background boolean | null

Whether to wait for the computation to finish before to display it on screen

This is true by default. Set it to false if you want the previous computation result to be replaced with the new one as soon as it starts.

command string[]

The tokens making the command to execute (first one is the executable).

Default:
[]
default_watch boolean | null

Whether to apply the default watch list, which is ["src", "tests", "benches", "examples", "build.rs"]

This is true by default. Set it to false if you want to watch nothing, or only the directories you set in watch.

env Record<string, string>

Env vars to set for this job execution

Default:
{}
expand_env_vars boolean | null

Whether to expand environment variables in the command

extraneous_args boolean | null

Whether to insert extraneous arguments provided by bacon or end users

Eg: --all-features or anything after -- in bacon incantation

grace_period string | null

Minimum delay to wait before restarting the job after a change is detected.

hide_scrollbar boolean | null

Whether to hide the scrollbar

ignore string[]

A list of glob patterns to ignore. Patterns starting with ! are negations that force-include matching paths, overriding other ignore rules (including .gitignore).

Default:
[]
ignored_lines array | null

Patterns of lines which should be ignored. Patterns of the prefs or bacon.toml can be overridden at the job

kill array | null

A kill command. If not provided, SIGKILL is used.

need_stdout boolean | null

Whether we need to capture stdout too (stderr is always captured)

on_change_strategy OnChangeStrategy | null

How to handle changes: either immediately kill the current job then restart it, or wait for the current job to finish before restarting it.

on_failure string | null

The optional action to run when it's not a success

Default: null
on_success string | null

The optional action to run when there's no error, warning or test failures (depending on whether allow_warnings is true or false)

Could be made a vec in the future but that would involve explaining subtleties like the fact that those actions stop after the first one ending the mission or doing a refresh

Default: null
show_changes_count boolean | null

Whether to display how many files triggered the current run.

show_command_error_code boolean | null

Whether to show the error code of commands. This is normally automatic, depending on warnings and errors found by the analyzers, but some commands may want to force it on (eg cargo run to show the error code of the binary being run even when there are rustc warnings).

skin object

Collection of optional color overrides for the Bacon UI.

34 nested properties
change_badge_bg integer | null

Background color of the change badge

  • default value: 6
change_badge_fg integer | null

Foreground color of the change badge

  • default value: 235
command_error_badge_bg integer | null

Background color of the command-error badge

  • default value: 9
command_error_badge_fg integer | null

Foreground color of the command-error badge

  • default value: 235
computing_bg integer | null

Background color of the "computing..." indicator

  • default value: 204
computing_fg integer | null

Foreground color of the "computing..." indicator

  • default value: 235
dismissed_badge_bg integer | null

Background color of the dismissed badge

  • default value: 6
dismissed_badge_fg integer | null

Foreground color of the dismissed badge

  • default value: 235
errors_badge_bg integer | null

Background color of the errors badge

  • default value: 9
errors_badge_fg integer | null

Foreground color of the errors badge

  • default value: 235
found_fg integer | null

Foreground color of search matches

  • default value: 208
found_selected_bg integer | null

Background color of the selected search match

  • default value: 208
job_label_badge_bg integer | null

Background color of the job label badge

  • default value: 204
job_label_badge_fg integer | null

Foreground color of the job label badge

  • default value: 235
key_fg integer | null

Foreground color used for key shortcuts in the UI

  • default value: 204
menu_bg integer | null

Background color used for menus

  • default value: 235
menu_border integer | null

Border color used for menus

  • default value: 234
menu_item_bg integer | null

Background color of individual menu items

  • default value: 235
menu_item_fg integer | null

Foreground color of menu items

  • default value: 250
menu_item_selected_bg integer | null

Background color of the selected menu item

  • default value: 239
menu_item_selected_fg integer | null

Foreground color of the selected menu item

  • default value: 255
project_name_badge_bg integer | null

Background color of the project name badge

  • default value: 240
project_name_badge_fg integer | null

Foreground color of the project name badge

  • default value: 255
search_input_prefix_fg integer | null

Foreground color of the '/' search prefix

  • default value: 208
search_summary_fg integer | null

Foreground color of the search summary

  • default value: 208
status_bg integer | null

Background color of the status line

  • default value: 239
status_fg integer | null

Foreground color of the status line

  • default value: 252
status_key_fg integer | null

Foreground color for key shortcuts displayed in the status line

  • default value: 204
test_fails_badge_bg integer | null

Background color of the failing-tests badge

  • default value: 208
test_fails_badge_fg integer | null

Foreground color of the failing-tests badge

  • default value: 235
test_pass_badge_bg integer | null

Background color of the passing-tests badge

  • default value: 2
test_pass_badge_fg integer | null

Foreground color of the passing-tests badge

  • default value: 254
warnings_badge_bg integer | null

Background color of the warnings badge

  • default value: 11
warnings_badge_fg integer | null

Foreground color of the warnings badge

  • default value: 235
sound object

Sound configuration.

2 nested properties
base_volume string | null

Base volume, acting as a multiplier for the volume of specific sounds.

enabled boolean | null

Whether sound notifications should be played.

watch array | null

A list of directories that will be watched if the job is run on a package. src, examples, tests, and benches are implicitly included unless you set default_watch to false.

workdir string | null

An optional working directory for the job command, which would override the package directory.

KeyBindings object

Mapping from key combinations to actions.

OnChangeStrategy string | string

Strategy to apply when changes are detected while a job is running.

SoundConfig object

Sound configuration.

base_volume string | null

Base volume, acting as a multiplier for the volume of specific sounds.

enabled boolean | null

Whether sound notifications should be played.