Purpose

nvim-bacon is a neovim plugin, which, combined with bacon, lets you navigate between errors and warnings without leaving your editor, just hitting a key.

Development

nvim-bacon is maintained in its own repository.

Discussions and feedback are welcome on bacon’s chat room.

How it works

At every job end, bacon writes a .bacon-locations file with all items (errors, warnings, test failures, etc.) and for each of them its label, file path, line and column.

In nvim, on predefined shortcuts, the nvim-bacon plugin may jump to the next item’s position, or display all items to let you choose one. The plugin reads the .bacon-locations file every time you hit one of its shortcuts.

When jumping to a location, nvim also sends a command to bacon to scroll to the focused item.

Nothing in this design is Rust related. This plugin can thus be used whatever the ecosystem(s) you program in.

Bacon configuration

The configuration instructing bacon to export the locations at every job should be defined in your global bacon/prefs.toml:

[exports.locations]
auto = true
path = ".bacon-locations"
line_format = "{kind} {path}:{line}:{column} {message}"

In order for nvim-bacon to send commands to bacon, you should also ask it to listen, with

listen = true

Installation & Usage

How to install nvim-bacon, how to configure it, and how to use it, are described in its own page: https://github.com/Canop/nvim-bacon.