I've been working on the plugin system more for my editor. Each of these panes are a completely separate web assembly modules. The tokens and token kinds are provided by another separate module that communicates with rust analyzer. Still very early days, but exciting that I was able to whip up a simple little UI for helping me map colors to tokens rather than needing to do it manually.
07/26/2023, 11:21 PM
is there a link to anything describing your project
07/28/2023, 4:04 AM
I’ve got a short write up on my last editor. https://jimmyhmiller.github.io/editor-experience
But I haven’t really written anything in detail about it this version. Ultimately, I just want to build my own editor that I can do all my programming in. I currently use emacs for clojure dev, vs code for writing most other things, and sublime text for browsing code (it is just faster).
But none of these am I happy with. I work in a very haphazard messy way. I have tons of files open but almost never need all of any one of those files. I want to be able to focus in on just parts of files. I want to be able to edit just that one function or consider just the data structures in my program.
I love the live coding I get with emacs + clojure, but it locks up all the time and I can’t do anything graphical. What I want is a way in which I can live code in any language, creating ad-hoc workflows and UIs for the problems I am currently facing. Why can’t I easily draw a graph as I’m coding? Why can’t I easily run commands a, b, and c when I change functions x y or z?
I also want a better interface for debugging. When I’m doing rust development I do find a stepping debugger useful, but there are so much things that make them annoying to use. A very common workflow is that you have some breakpoint you are interested in, but only when you get to a certain point in a program. The UI for doing this shouldn’t be hard but none support it.
Ultimately for me, it is a complete rethinking of the way I work with code. But I have kept the constraint that I am editing text. For clojure I’ll have something like paredit. But I don’t think for my personal use cases I’d get most of my benefit out of a structural editor. Instead, it is all the meta work around programming that I want to make better. I have a lot of concrete use cases I’d love to support. Something things that I had to go and make a web app. But they were never as good.
In fewer words, I’m making a platform for building applications that happens to also be an editor. To me, that is what I want more than anything. If I’m going to spend all of my time in this editor, why can’t I bring all my tools, visualizations, and aids with me?