Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0 roadmap #5

Open
7 of 11 tasks
ethan-leba opened this issue Aug 16, 2021 · 0 comments
Open
7 of 11 tasks

v1.0 roadmap #5

ethan-leba opened this issue Aug 16, 2021 · 0 comments

Comments

@ethan-leba
Copy link
Owner

ethan-leba commented Aug 16, 2021

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.
  • Wrap command #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.
  • Add move up/down editing operation #41
    http://oremacs.com/lispy/#lispy-move-down
  • Add raise-some editing operation #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

@ethan-leba ethan-leba pinned this issue Aug 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant