That strongly dissuades me from writing plugins in anything other than Vimscript. It might work for the guy who recompiles his Vim often, but it will not work on that vim instance running in your server. Ubiquity is one of Vim's main points.
Having even basic support, for key-bindings, and reacting to events, is very useful.
I wrote a console-based mail client which is configured and scripted via Lua, and would love to see Lua added to "all the things".
The structural regular expressions are also pretty interesting.
let [file, line, col] = split("hello.c:39:10", ":")
This is the sort of feature I just assumed it didn't have, because few enough real programming languages have it.The main issue I think is that there are lots of different contexts where you can put vimscript, and different bits of vimscript are legal in those contexts, or at least seem to be.