tree-edit
tree-edit copied to clipboard
🌲 Structural editing in Emacs for any™ language!
Currently the relational parser accepts a nested grammar alist and recursively pattern matches on it in order to run. This is likely creating a moderate performance hit (need to measure...
Frankly I don't use Java enough to really care about supporting it -- it just seemed like an easy grammar to start with. So help wanted! ### TODO: * [...
Tree-edit should be smart about the precedence of nodes, for example in a C-like language: Inserting an `+` into `x * [y]` should output `x * (y + z)`, as...
Let's say we want to turn this expression `String input = null;` into `input = null;` by deleting `String`. This seems reasonable, but would take us at the syntax-tree level...
Would be interesting to add [property testing](https://github.com/Wilfred/propcheck) to validate that tree-edit's editing operations are always correct, i.e. on some random correct syntax tree perform an abritrary action and assert the...
Example: https://github.com/ethan-leba/tree-edit/blob/main/tree-edit-java.el#L95 These set of bindings should fall under an `operator` prefix map.
Explain basics of tree-sitter API, and show how to use with `tree-edit` functions.
(Elisp)-tree-sitter represents sections of the code it cannot parse as `ERROR`symbol tokens. Currently the parser will fail as if a transformation is invalid if any `ERROR` tokens are present. Instead,...
Unless we're testing formatting, we shouldn't be performing assertions about the text of the specific buffers, but their ASTs.
A la vim, `2ae` would append 2 expression statements, etc...