// the find
tjdevries/vim9jit
a vim9script -> lua transpiler (written in Rust)
An experimental Rust-based transpiler that converts a subset of vim9script (Neovim's newer, faster scripting dialect) into Lua, aimed at Neovim plugin authors who want vim9script performance without waiting on Neovim's own vim9script interpreter. It's a partial transpiler by design — it only handles constructs like `def` functions and `import`, punting everything else back to Vim's own vimscript interpreter.
The codebase is split into focused crates (lexer, parser, gen, vimfuncs) with a real compiler pipeline, and each stage has its own insta snapshot test suite (dozens of `.vim` inputs paired with expected lexer/parser/lua output) — that's a level of test rigor you don't often see in a 560-star hobby project. It's built by TJ DeVries, a Neovim core contributor, so the design choices around what vim9script actually needs to support are informed rather than guessed at. CI and release workflows are already wired up.
The README is a single paragraph with no install instructions, no usage example, and no explanation of how this plugs into an actual Neovim config — you'd have to read source to figure out how to use it at all. It's explicitly scoped as non-complete ('will not be a full vimscript parser'), so it's a foundation, not a drop-in tool, and there's no indication of how much of real-world vim9script it actually covers. The `hacktoberfest` topics and a stray `scratch/` directory suggest it may have been more of a hacktoberfest side-quest than a project with sustained roadmap and momentum.