Always interesting when a project stays 0 ver for so long- anyone close to the project know what would be considered significant enough for a "v1" release?
I don't really get the point of this. If the 0 never changes to anything else, then effectively it serves no purpose and shouldn't exist. Some people even refer to software that way. Sometimes something like React 0.82 might be just called "React 82", and effectively it's 82.X in practice.
In Vim, :! cleans up the tty context and hands it off to the child program, to do whatever it wants, you can open any TUI program and it will work as expected.
In Neovim, :! just uses a plain pipe. Actually I believe GVim has the same problem. Since both Vim implementations now have a built in terminal handling stack anyway, I wonder if that could be used to unify the behavior.
Just nvim. Neovim runs :! commands non-interactively, capturing the output in a pipe. vim, on the other hand, suspends itself and runs the command in an external shell.
This isn't a problem, really, for non interactive commands, but causes issues with interactive ones. I personally prefer vim's approach, though not enough to abandon neovim.
https://github.com/neovim/neovim/issues/20451
https://neovim.io/roadmap/