> But I feel like this is one of the strongest things about org mode and something that keeps it really apart from similar tools.
Having manipulated nodes in both Leo and Org mode, the former is one to two orders of magnitude easier (no exaggeration!), and I did not find anything lacking in it compared to text parsing org nodes in elisp.
I'm not arguing that text parsing should not work, or not be available. But there really should be a solid, robust API to do simple things like:
1. Move a node from one place to another.
2. Get the body of the node (sans any children, drawers, and other metadata).
3. Traverse nodes in whatever order you want (DFS, BFS, random, etc).
The underlying implementations of these functions can handle the text parsing. I shouldn't have to do it every time.
Having manipulated nodes in both Leo and Org mode, the former is one to two orders of magnitude easier (no exaggeration!), and I did not find anything lacking in it compared to text parsing org nodes in elisp.
I'm not arguing that text parsing should not work, or not be available. But there really should be a solid, robust API to do simple things like:
1. Move a node from one place to another.
2. Get the body of the node (sans any children, drawers, and other metadata).
3. Traverse nodes in whatever order you want (DFS, BFS, random, etc).
The underlying implementations of these functions can handle the text parsing. I shouldn't have to do it every time.