Releases: Canop/bacon
bacon v3.19.0
- update notify to fix a crash on BSD - Thanks @omarandlorraine
- order list of jobs visible eg on shell completion - Fix #390
There's also a major feature: commands to dismiss and undismiss items or types of items
This makes it practical and efficient to do occasional "pedantic" reviews of your code - Fix #304
I wrote a blog post about it: https://dystroy.org/blog/practical-pedantism/
bacon v3.18.0
- key bindings can use the
cmdmodifier (called "Command", "Super", "Windows", depending on the system) - with
hide_scrollbar = true, you can make copy-pasting easier - Thanks @JeanMertz - when project dir isn't specified explicitly (with
--project) bacon looks for an enclosing dir having a bacon.toml or Cargo.toml file - Fix #385
bacon v3.17.0
bacon v3.16.0
- bacon colors configuration, see https://dystroy.org/bacon/config/#skin - Fix #215
- swift analyzers for building and linting - Thanks @mhedgpeth
open-jobs-menu(bound to ctrl-j) and configurableopen-menu- Fix #364
Example of using the new skin configuration:
[skin]
status_fg = 253
status_bg = 0
status_key_fg = 180
project_name_badge_fg = 253
project_name_badge_bg = 0
job_label_badge_bg = 109
warnings_badge_fg = 204
warnings_badge_bg = 253
computing_fg = 0
computing_bg = 180
search_input_prefix_fg = 67
found_fg = 67
found_selected_bg = 67( by @mahume ) gives this:
@mhedgpeth added analyzers for swift build and swift lint.
Feedback would be very welcome regarding the use of bacon for Swift. Even confirming that you use it would help focus efforts.
The new "jobs menu" is triggered by ctrl-j:
And you may also define your own menu.
For example this configuration:
[keybindings]
alt-j = "open-menu(intro=Project Shortcuts (hit *esc* to cancel):,actions=[job:check-all,job:clippy-all,job:open-doc,export:myexport,open-jobs-menu,quit])"
opens this menu on alt-j:
All those new features are described in the documentation site at https://dystroy.org/bacon/
Best place for feedback is usually Miaou.
bacon v3.15.0
- the concept of "internals" has been removed. They were a category of actions and they're just actions now. This has no functional impact.
- the optional
workdirjob setting allows explicitely overriding the execution directory of a job's command - experimental, feedback welcome
bacon v3.14.0
- improve consistency of 'paused' state, which now also applies in case of config change
- bacon no longer overrides
RUST_BACKTRACEunless required (by env parameter or withtoggle_backtrace) - Fix #356 toggle_backtracenow accepts0as parameter. This allows defining a shortcut to disable externally set backtraces- fix crash when search is active, output is wrapped and refreshed - Fix #359
bacon v3.13.0
- add support for nextest 0.9.95 - Fix #350
- new
focus-fileinternal. Example:focus-file(some-partial-path)
Remote Control
With listen = true in configuration, bacon listens for actions in a unix socket on file .bacon.socket in the package directory.
Goal is to allow controlling bacon from your code editor.
A simple way to try it is to launch socat - UNIX-CONNECT:bacon.socket then issue actions ending in new lines.
You may also use bacon with --send, eg bacon --send "job:clippy".
bacon v3.12.0
- cargo-json analyzer (for bacon-ls): fix invalid spans for errors from proc-macros - Fix #332 - Thanks @Leandros
backaction, usually mapped to theesckey, no longer quits on first job. If you want the old behavior, add this binding:esc = "back-or-quit". Fix #338 - Thanks @ian-h-chamberlain
bacon v3.11.0
- hit
:then type an integer to go to a diagnostic by number - Fix #104 - standard test analyzer: fix stack overflow not detected - Fix #326 - Thanks @gmorenz
Dynamic Completion
The script providing location aware completion needs to be sourced once.
This can be done for example in your .profile with
source <(COMPLETE=bash bacon)(adapt for your shell) This feature is still experimental. Please give feedback, positive or negative, in the chat.
Thanks @bryceberger
bacon v3.10.0
- all job parameters can now be specified at the root (to be applied to all jobs)
grace_period,show_change_count,sound.enabled, andsound.base_volumecan now be specified at job levelno-op(no operation) internal, which can be used to disable a previously set binding


