tjdevries / vim9jit

a vim9script -> lua transpiler (written in Rust)
MIT License
510 stars 21 forks source link

Make it work as seamlessly as possible, also I want to help #25

Open w0rp opened 1 year ago

w0rp commented 1 year ago

Hello! I was just discussing this idea with @Angelchev and I want to offer my support for this project in the future. I believe it's important it allows people to run vim9script files in Neovim as seamlessly as possible. The Neovim maintainers have made it clear that they will never implement vim9script in Neovim, and this makes sense. Neovim is powerful because it removes bloat from the Vim core it spawned from, and in turn adds its own bloat in the form of modern day programming stuff. (I am joking, of course.)

There is a serious risk of the Vim and Neovim communities becoming massively bifurcated, and whilst Neovim users may enjoy bells and whistles and all manner of nice things, this is very bad for Vim users. I am sure many users like myself have configurations for Vim they have evolved for more than a decade, some for several decades, and the cost of moving to Neovim will become higher with the introduction of vim9script, where moving will mean you gain access to fancy new IDE-like features and luajit, but you will lose out on work that will be coming in Vim.

In my personal view, I don't really like vim9script and wish Bram would have implemented a Vim luajit instead, but Bram is his own person and it's his software. He gets to choose what he wants to work on and do what he wants to do. It would be very rich of me to make demands of someone else who has given me so much for free over the years.

I would like to offer my support for this project and find ways to make running vim9script in Neovim so seamless that you won't even notice there's no official support for it in Neovim itself. I believe a plugin you can optionally install is the appropriate strategy for Neovim. I love that you are working on this already. I will be watching this project. :smiley:

tjdevries commented 1 year ago

Thanks :)

There are definitely some areas that will be very difficult to make run for any random plugin (as compared to running just whatever is in runtime/ for vim.

For example, there are many vim functions that are not merged to neovim (because we have similar functions available in Lua or are just not needed generally speaking yet). Those functions will prove difficult to "re-implement" in vim9script land.

There are some other problems as well I think, but those are the first ones that come to my mind :)

I'm hoping to spend some more time on the project again soon. My wife and I had our second child somewhat recently, so life has been quite hectic haha :)

tjdevries commented 1 year ago

The other thing is I think it would be quite hard to have an "interactive" environment, but perhaps that won't be an issue. I think if the main goal is "you can run, but not write, vim9script plugins in neovim" then that is much more achievable

w0rp commented 1 year ago

I'm hoping to spend some more time on the project again soon. My wife and I had our second child somewhat recently, so life has been quite hectic haha :)

That's fantastic. I'm happy for you. :smile:

I think running vim9script in Neovim will become similar to running Bash scripts in Mac OSX. Not everything works, but they'll run.