3 ms·
The author of NeoVim (Thiago de Arruda) tried to add support for multi-threaded plugins to Vim and has been stymied[1]. I'm not sure how to get a patch merged
by ggreer 13y ago
The author of NeoVim (Thiago de Arruda) tried to add support for multi-threaded plugins to Vim and has been stymied[1].
I'm not sure how to get a patch merged into Vim. Bram Moolenar is the only person with commit access, and he's not a fan of most changes beyond bug fixes. My co-founder and I tried to add setTimeout & setInterval to vimscript[2]. Even six weeks of full-time effort and bending over backwards wasn't enough. Eventually we were just ignored.
I've contributed to a lot of open source projects, and the Vim community has been the most difficult to work with. I've been writing C for almost two decades, and the Vim codebase is the worst C I've ever seen[3]. The project is definitely showing its age, and I'd love for something new to replace it.
1. https://groups.google.com/d/msg/vim_dev/65jjGqS1_VQ/fFiFrrIBwNAJ https://groups.google.com/d/msg/vim_dev/65jjGqS1_VQ/fFiFrrIB...
2. https://groups.google.com/d/msg/vim_dev/-4pqDJfHCsM/LkYNCpZjQ70J https://groups.google.com/d/msg/vim_dev/-4pqDJfHCsM/LkYNCpZj...
3. If you value your sanity, do not read eval.c. It is over 25,000 lines and has over 400 ifdefs. The first ifdef checks for Amiga; the second checks for VMS: https://github.com/b4winckler/macvim/blob/master/src/eval.c https://github.com/b4winckler/macvim/blob/master/src/eval.c
- oblio 13y agoRe #3. Dude - you broke my browser with that link :(
- teacup50 13y agoYour patches were broken. Now your answer is to fork? Sheesh. > The project is definitely showing its age, and I'd love for something new to replace it. Then start over. Refactoring it will be nigh impossible.
- gdr 13y agoVim was created on Amiga, so that's explainable