Hacker News new | ask | show | jobs
by revscat 1818 days ago
It is my understanding that one of the initial driving forces behind NeoVim was to allow for easier embedding, such as what you appear to be doing here. If this is true, why did you decide to go with traditional vim rather than NeoVim? Additionally, since nvim lets you choose between Lua or Vimscript for configuration/extension, and I personally find Lua far more intuitive than Vimscript...
2 comments

> If this is true, why did you decide to go with traditional vim rather than NeoVim?

Answered here [1].

> I personally find Lua far more intuitive than Vimscript...

One of the biggest motivating factors for the rewrite of Oni was the limitations imposed by Vim/Neovim of a terminal grid of characters in the rendering layer: “Neovim treats the visible screen as a grid of cells” [2]. This precluded implementing CodeLens amongst other things [3].

I’m also a fan of Lua — I’ve written a substantial amount of Fennel — but given Oni’s goals, revamping Vim’s rendering layer is of higher importance than Lua support, particularly since the VSCode extension ecosystem is being relied upon anyway. Onivim is designed as more of a direct challenge to heavyweight IDEs than as a substitute for Vim. I already switch between Vim and VSCode depending on requirements, but it’d be great to have the best possible support for modal editing in VSCode.

[1]: https://github.com/onivim/libvim#why-is-libvim-based-on-vim-...

[2]: https://onivim.github.io/docs/other/motivation#a-new-view-la...

[3]: https://onivim.github.io/blog/2021/02/03/release-0.5.3

Seems they had trouble implementing that with Neovim[0]. Relevant reddit thread[1]

0: https://github.com/onivim/libvim#why-is-libvim-based-on-vim-...

1: https://www.reddit.com/r/neovim/comments/cdf36v/onivim2_chan...