ethan-leba/tree-edit

v1.0 roadmap

ethan-leba opened this issue · 0 comments

Editing features

  • Copy
    Should we be storing the node type on copy, or inferring it on usage? If we store type on copy, where does that live?
  • Paste
    New text-object/type should be added, so node in the clipboard can be replace, add, wrap, etc. If inferring on usage, each language could need to provide some wrapper string to parse correctly, i.e. 3 is not a valid C expression.
  • #23
    Copy current node, replace with provided, avy select a node with current node's type, paste and remove from clipboard. It should fail if there are no nodes to replace.
  • Undo
    Just needs to update the overlay afterwards.
  • Change
    If the current node is one that can determined by a regex, delete node and drop into insert mode. On exit of insert mode, re-enter tree mode with same node selected.
  • #41
    http://oremacs.com/lispy/#lispy-move-down
  • #44
    http://oremacs.com/lispy/#lispy-raise-some
  • Per-mode customization of formatting and indentation of inserted nodes

Language support

My thoughts are that at least 3 languages should be supported before the API is locked in, as it's likely that there's been some bias in the API.

Leaning towards Java, Python, and Bash, as that's what I'm familiar with.

Documentation

  • Fully flesh out README documentation
  • Add some SVGs?
  • #28