Will vim9 be supported?

Maybe no.

My personal opinion is that Lua is enough and there is no need to import a unique language.

Definitely no.

(Except possibly via an external project like GitHub - tjdevries/vim9jit: Ok, hear me out. vim9script... but in lua... so fast, with some basic hooks in core to allow this to run transparently.)

enough is not the issue. supporting vim9 scripts that will be written is the issue.

what if all the vimscript from vim is ported to vim9? what then? vim9 is the new vimscript.

I mean all the Lua scripts don’t work in Vim either. The reality is they are becoming to separate editors. Pick the one you like best.

1 Like

All vimscript in the world? We’ll cross that bridge when we get to it.

1 Like

just the vimscript from the vim repo

Issues · neovim/neovim · GitHub

feat: add filetype detection for gnuplot config file by nobodyatandnothing · Pull Request #17163 · neovim/neovim · GitHub

That’s already happening.

First, this will of course not immediately delete all legacy vimscript from the Neovim repo, so things will continue working just fine. All it means is that including future changes will become a bit harder as we can’t simply plonk the updated files into our tree.

However, the differences are usually fairly superficial so it’s not that hard to make analogous changes manually in our runtime files, even though it’s more work. (In fact, we’ve already been doing that quite a while for some more complex vimscript files that depend on editor features, most notably termdebug.vim.)

In the medium term, any file that is converted to vim9script is license for us to just rewrite in Lua (and possibly making bigger improvements to the design) – like the recent filetype.lua. I would expect more of this; possibly using a transpiler like vim9jit in case there’s a huge surprise batch of vim9script conversion when Vim9 is released.

(And regarding your last comment: as long as the runtime files remain legacy vimscript – which may be for a while, since these are often written by external maintainers who may deliberately keep them in vimscript as a lingua franca that serves both Vim and Neovim communities – the contract “runtime file improvements go through Vim” of course remains.)

Long term, we would hope that tree-sitter support becomes expansive and stable enough to completely replace the old regex-based runtime. But that is a long way off…

1 Like