Originally Posted by
Ñuño Martínez
I would try.
I have no experience with vim-script, that is why I tried to create my own editor using Lazarus.
Vim-script is the epiphany of bad design! It's absolutely awful..but if you manage to get your head around it, it's also very, very powerful. Every little aspect of the editor is scriptable. There is however the possibility to use python IF vim was compiled with support for it. I think that most mainstream versions of pre-compiled vim binaries atleast has support for Python2.6 baked into the executable. Another option is lua, or ruby (in the latter case I do think vim-script is tidier and more comprehensive..)
Can't find the time for such a big undertaking atm, but when I finish of some other projects I promise that I'll give it a go, a prototype shouldn't take that much time to produce, but I surely could use some help with the backend, which will be written in Pascal. My Emacs 'server' piped string objects back and forth between the CodeTools interface and the Emacs buffer, but I'm pretty sure that there is another, more efficent way of doing this. The Vim-way of swap-files could be abused to achieve a better interface between the two (Vim and CodeTools).
Disecting the YouCompleteMe source might give me a better understanding on how to proceed.
Can't help it, but I feel like all 'modern' editors, apart from atom/code/sublime isn't really good at handling large amounts of source-code. One thing I hate is when the editor gives you the option to autoclose brackets/parens etc but doesn't do anything to actually match the pairs.. For example:
Code:
constructor TSomeClass.Create(|)
This happens in most editors when you turn on autoclose ('|' is used to display the cursor position).
Code:
constructor TSomeClass.Create(text:string|)
All is well
Code:
constructor TSomeClass.Create(text:string)|)
What? I typed a closing paren and the stupid editor didn't match parens, so instead of jumping over the closing paren, it inserted a new one. Mumblemumblemumbe. Hit 'del', move pinky to right arrow, move cursor over the stupid paren and insert that semicolon
Code:
constructor TSomeClass.Create(text:string);
In 'real' editors, that doesn't just autoclose, but actually match pairs of brackets/parens ets this would not have happened, and I would be churning out code instead of cursing and moving the cursor by using the arrow keys, which by the way are located far of where your fingertips should be to write fast and efficent.
Bookmarks