Single attributions are rarely correct until it's about Israel/Palestine. You might need to immerse yourself more in the issue before you start noticing these things.
For what it's worth, we're not trying to recreate your emacs or VIM experience, just trying to port as many keybindings as we can. Will log the things you mentioned, it just seems like there's conflict with other keybindings.
> Maybe there are function keys bound? I wish I could find out.
Ctrl+Enter to run
> Is there any possibility of one of these "IDEs" having auto-indent / reindent? I see from the docs there's supposed to be one, but all I get is not-smart left/right motion.
What do you mean by left/right motion? Are you asking for like an auto-format feature? Or just handle re-indent when the indentation options change?
We had to handroll our own OT implementation inhouse (based on https://github.com/ottypes/text-unicode) since we had built the system for it already. I suspect we would've used or forked CodeMirror's collab package if we were starting today.
Also huge fan of yjs, but the implementation is not compatible with codemirror 6, only version 5 (AFAIK)
CodeMirror improved Replit's performance by a lot and by extension our retention. In fact, after releasing it to mobile in July[1] our weekly retention rate on mobile increased by a whopping 70%. That said, solve a lot of mobile usability issues so it's not all due to performance. On desktop however, it's a different story, we made sure to just have parity with Monaco and it still improved retention by %25, almost all due to performance!
If you like working on performance come work at Replit, we want people that care about the performance of our systems!
Adopting CodeMirror pushed us to write more in a more functional style that makes the code more fun and simple (not easy) in the shortrun, and more maintainable in the long run! My teammates write CodeMirror extensions for kicks and giggles, sometimes they end up releasing some "bret victor shit"[3].
If you like CodeMirror and end up using it in production, try to get your company to fund the project[4] and open-source as much as you can!
Author here:
We might release our LSP implementation for CodeMirror some time this year.
The LSP integration for Monaco is lackluster, it works, but isn't great. We thought LSP would work perfectly on Monaco only to find out that the Monaco APIs are very different from LSP APIs or even VSCode APIs. The 3rd party package out there is good, but you need a bunch of monkey-patching to make it work in an "IDE" environment.
The 1MB number is not correct, the core of CodeMirror is 150kb before gzip. Codejar is pretty cool, but it's super minimal, it's great if you want something very basic. It also doesn't really work on mobile despite using contentEditable.
I interviewed Dalia and a few other people referred to us by Manara at Repl.it. It was such a pleasure meeting kids that are so smart and have an insane drive.
We have a really high bar for hiring at Repl.it, Dalia and the other youngsters from Palestine performed better than at least half the experienced engineers I've interviewed in the past. We extended an offer to one Dalia's classmates and he started yesterday as an intern with high potential for full-time, as our internships usually are since we invest a lot in them.
It was such a pleasure meeting you Dalia, wish you all the best. Hope to work with you in the future (maybe when we can offer US visas).