A new plugin manager - kak-bundle

For quite some time now, @almr and I have been working on a new plugin manager called kak-bundle, as an alternative to plug.kak:

This plugin manager focuses primarily on load time, while simultaneously offering a large subset of the functionality offered by plug.kak. In our testing (well, mostly @almr’s testing :slight_smile: ), kak-bundle seems to load about 20% faster than an equivalent plug.kak configuration using the plug-chain command.

Again, as mentioned above, a huge thanks to @almr for his work on this plugin. He has a lot more time to work on this sort of thing than I do, so while we may have collaborated a fair bit on the design of this plugin, frankly most of the actual implementation work has been him.

@almr also created a plug.kak compatibility layer for kak-bundle, which should help those transferring from plug.kak to kak-bundle:

5 Likes

It is really great to see other plugin managers for Kakoune!

I don’t have a lot of time these days to spend on plugin development, so I’m more or less in a maintenance mode right now, trying to fix bugs if reported by users but don’t have time to improve performance, and @almr was a very huge help in plug.kak recently in this regard, implementing plug-chain and optimizing a lot of stuff, so huge thanks to him!

I have a good feeling about Kakoune plugins lately, seems like a lot of things appeared in a much lighter form. I often tend to overengineer things, so when I see a plugin that does something similar to one of the mine plugins, I’m always glad that someone made a more simple thing that will be easier to maintain than my code :smiley:

5 Likes

Do you have time comparisons against alexherbo’s plug.kak (which basically translated to symlinking plugins to the autoload directory)?

Unfortunately, I do not have performance metrics to compare to @alexherbo2’s solution (which was a huge source of inspiration for this plugin, actually). However, you can set the bundle_path option to a location within the autoload directory for a similar effect with kak-bundle.

Really happy to see more plugin manager flourish, it comforts me in the idea that Kakoune core should only provide building blocks and leave the community explore the design space.

6 Likes

I believe you have a typo in the README. You should wrap in double quotes the parameter:

source %val{config}/bundle/plugins/kak-bundle/rc/kak-bundle.kak

Yep, good catch. I’ll fix that.