"Why do you make plugins?"

There’s a guy in the office, and I like to show him cool things I made or discovered for Kakoune. Usually I make some thing like recent flygrep and show it to him, and he says that this is already presented in his editor. I often say that I’m going to make a plugin of this thing, so anyone could use this like you use features of your editor, and he asked me:

Why do you make plugins?

At first I thought that it’s easy question, since I just want to share tools that I make with the community, but then he asked me “why do you want to share?”

His point was, that I have to deal with use-cases that I do not have, and errors that I do not encounter and there’s no actual profit of such work because “that’s not even real programs,” and I don’t gain anything from writing those.

Don’t get me wrong, I’m not mad at this guy (he’s sublime text guy), he has some fair points, because I do deal with errors and different use-cases, but I like it. When I was experimenting with Vim plugins (eww) it was unpleasant experience to write in VimL, and it really had no real benefits. But in Kakoune, scripts are generally shell expansions, which means I can use any language I want. I’ve learned some bits of Awk and Perl, which I now use at work more often, looking at Lua now, and my shellscripts became more robust too. And I no longer require bash features to do simple things with more efficiency. So there’s at least something that I got from writing plugins for Kakoune.

As for “why do I want to share”, is because the community is just great. Writing plugins, especially big ones, is a hard task, and often too time consuming, because it’s just a hobby projects, but I do not agree that this is “not real programs.” Emacs has such things like Org Mode and Magit which are real programs, shipped as a plugins. You can use Emacs only for Magit, because it’s great. I think that Kakoune’s focus on creating tools that can be used with or without Kakoune complements this approach, and parinfer-rust is a great example of this. Sharing your work helps everyone in community. And as long as I feel that something I do helps someone, I do not need any other reason.

So to summarize, I write plugins because:

  • I want fame,
  • I want power,
  • I want mon<Esc>2Kd
  • I simply like to.

Why do you make plugins?


I mostly write plugins because I’m chasing the ideal dev environment. I’ve had IDE-like experiences that were really great, like in a Smalltalk environment, or in Eclipse (but only for Java), and while I found Vim and now Kakoune really efficient, they haven’t had the full experience. (Vim, and Kakoune moreso, are intentional about this, just being an editor and not responsible for the rest. This is actually pretty helpful.)

I share plugins because I hope I’m not the only one who wants this, and I want to collaborate on getting there. While it adds more work in terms of maintenance, I think it adds leverage when people discuss ideas and someone else goes and implements something neat.

I’m almost always “scratching my own itch,” and I often end up with a bunch of gross but workable hacks. I worry that I don’t spend enough time thinking about how to make things into plugins so that when I do make existing things into plugins, I have to set aside a lot of extra time.

1 Like

I write plugin because i need it. I share it because it might be useful for someone else. badabing.

Also sharing your code helps to keep it in good shape and involved in ecosystem.

1 Like

I write plugins I need. It’s fun. I share them so maybe someone will find them useful. :man_shrugging:

1 Like