codemirror-emacs
text-unicode
codemirror-emacs | text-unicode | |
---|---|---|
1 | 2 | |
15 | 69 | |
- | - | |
2.4 | 0.0 | |
7 months ago | about 2 years ago | |
TypeScript | TypeScript | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
codemirror-emacs
-
Ace, CodeMirror, and Monaco: A Comparison of the Code Editors You Use in Browser
Hey!
> How does it work?
It's a web application, so a lot of JavaScript.
> I tried the emacs keybindings on replit... what a joke
It needs some more love, the work is done out in the open, feel free to open issues. https://github.com/replit/codemirror-emacs
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?
text-unicode
-
Ace, CodeMirror, and Monaco: A Comparison of the Code Editors You Use in Browser
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)
-
Accidentally quadratic: When Python is faster than C++
Well said.
I've had a lot of conversations with javascript engineers over the years who've argued to me that well tuned JS will be nearly as fast as the equivalent C code. I've written plenty of little toy benchmarks over the years, and in my experience they're partly right. Well written JS code in V8 can certainly run fast - sometimes around half the speed of C code. But a massive performance gap opens up when you use nontrivial data structures. Nested fields, non-uniform arrays, trees, and so on will all cripple javascript's performance when compared to C's equivalent of simply embedding nested structs. If you couple clean C data structures with allocation-free hot paths from arenas, the performance of C will easily hit 10-20x the performance of the equivalent JS code.
From memory my plain text based operational transform code does ~800k transforms / second in javascript. The equivalent C code does 20M/second. The C implementation is about twice as many lines of code as the JS version though.
(The code in question: https://github.com/ottypes/text-unicode/blob/master/lib/type... / https://github.com/ottypes/libot )
What are some alternatives?
slate - A completely customizable framework for building rich text editors. (Currently in beta.)
rapidyaml - Rapid YAML - a library to parse and emit YAML, and do it fast.
Code-Server - VS Code in the browser
codejar - An embeddable code editor for the browser 🍯
JitFromScratch - Example project from my talks in the LLVM Social Berlin and C++ User Group
y-codemirror.next - Collaborative extensions for CodeMirror6
flang - Flang is a Fortran language front-end designed for integration with LLVM.
y-codemirror - Yjs CodeMirror Binding
esbuild - An extremely fast bundler for the web
phonk - PHONK is a coding playground for new and old Android devices