Canop / bacon

background rust code check
https://dystroy.org/bacon
GNU Affero General Public License v3.0
1.93k stars 71 forks source link

working with just #144

Open nim65s opened 1 year ago

nim65s commented 1 year ago

Hello !

Thanks a lot for this project :D

I was wondering if there are ways to integrate bacon with just, or if something is planned.

To provide more context, I often have to write a justfile with many commands, and bacon is a super nice tool to run some of those commands automatically, so I have to write a bacon.toml which just expose the list of the just command I need.

Here is an example on a toy project : justfile / bacon.toml.

This is a bit of boilerplate that I have to write and adapt again and again in every project (and maintain), for very little added value, while I think we could instead have just a flag for bacon that expose commands provided by just.

Canop commented 1 year ago

There's nothing planned, because I never used just and nobody asked for it.

I guess there could be something specific done.

In the meantime, what about this:

[jobs.just]
command = ["just"]
need_stdout = false

You would call it like

bacon just -- check-drv

nim65s commented 1 year ago

Thanks for your answer !

This workaround would work, but it would opt me off the ? menu, and prevent me from declaring keybindings, right ? If this is the case, I think the workaround of just writing the boilerplate is preferable.

What I would ideally look for would probably more be like

[jobs-just]
commands  = ["check-drv", "check-esp", "clippy-drv", "clippy-esp"]

[keybindings]
t = "job-just:check-drv"
s = "job-just:check-esp"
shift-t = "job-just:clippy-drv"
shift-s = "job-just:clippy-esp"

or even a blunt import_all_commands_from_just = true

(this jobs-just / job-just / import_all_commands_from_just naming is awful, though, sorry for that)

nim65s commented 1 year ago

Or maybe, if I manage to get a launcher which automatically open multiple bacon instances with different just commands on different pane, your solution could be the most simple one for my use case. I'll try something with https://zellij.dev/news/new-plugin-system/ to see if I can get a list of just commands and simply bacon them all.

But still, I think importing commands from just into bacon config would be a nice feature