Comment by paddy_m

2 days ago

That's a lot of code for a toy project, impressive commitment!

How does the VIM family generally handle extensibility?

Do you have any unique takes there?

I use Emacs, and I get how emacs does it (smallish runtime for text display and lisp interpreter, everything else in lisp).

Hey Paddy. Vim uses horrible vimscrip, neovim - cool lua. I have two idea for plugins: - 1. Rich events system on backend side. e.g. write golang code for plugins, recomplire editor. done. pros: good performance, autocomplete for plugins out-of-the-box. golang. cons: feedback loop is lonfer. recomplier, restart, repeat. - 2. Use lua. pros: fast development cycle. cons: harder to implement. two languages, communication overhead.

I also use Emacs, btw.

Traditionally (classic vim), horribly well. Fully extensible, but Vimscript is quirky to say the least.

Recently (neovim), delightfully. It just uses Lua and exposes APIs for absolutely everything.