This is an attempt to make a native-feeling code editor where all code is rendered to a canvas, instead of being rendered with the DOM (as with Ace and similar projects).
For now it's just a prototype, but this type of rendering could (maybe) simplify dealing with multiselect, buffering different parts of the file, and rendering funky things like newlines, spaces, and find results. It's also just an interesting exercise to find all the little things we're used to when we edit text.
So many things
Scrolling/bufferingBreak keyboard event management into a separate moduleRender multiple layers separately (background, selection, text, cursor)- File I/O
Copying/cutting (pasting already works)Double/triple clicking to select words/linesMore keyboard shortcuts (ctrl-a, etc)- Finding/replacing
- Dead keys (ä, é, etc)
Multiselect- Endless features...