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?