Hello all,
I'd like to share ATStead:
It is a simple structured editor based on:
Try it to see if you can enter some expressions! Structured editors are known to be clunky, but this one is at least modeless. :-)
Basically, all functionality presented in the paper works. In contrast to the paper, the editor's main datastructure is imperative and is very efficiently updated. So I guess it should scale to big, complex real-world ASTs (well, one can dream right???).
What I'm going to do next:
- improve rendering (it's very dumb at the moment, both in terms of being from-scratch everytime, and in terms of lacking in visual clarity)
- improve keyboard entry (handle keybindings, try guessing node types by lexing the input etc.)
- add selection by mouse (this one is simple)
- add undo/redo
- extend to handle ABTs (so that the editor can help you out with typical programming stuff: renaming variables, looking up definitions, etc.)
- make easily embeddable in a typical JS application