magic-tree
magic-tree copied to clipboard
whitespace-aware Clojure source code manipulation.
In addition to being 'whitespace-aware', a magic-tree AST should be 'cursor-aware' and 'selection-aware'. This would allow us to implement editing commands purely in terms of the AST, instead of having...
Unsure of exactly how/where this will be implemented - probably should come after #7
Manual entry of source code implies moving through invalid states, which should be handled gracefully by the editor. A map with an invalid number of children should (a) communicate an...
An editor must continue to provide functionality even (perhaps _especially_) when the user has entered an invalid Clojure form.
If an error is caught while trying to parse an invalid form, return a meaningful error (w/ position) for an editor to display.
Whilst typing, it is burdensome to remember+type names that are defined. Expose a list of symbols/keywords used in the current tree, for use in autocomplete. (maybe crawl up from a...
code should be automatically formatted where possible. indentation and spacing should be managed by the editor.