Branch a branch out into a document of its own (stage 9b)
<Space>o (the user's pick), :branchout [file] or the right-click menu moves the cursor's branch into a new document, next to this one and named after the branch's title (-2 when that's taken), or at the path given. Its top node becomes the root, in the middle of the canvas, and the nodes keep their ids, so the links among them, the small and capital marks on them and the jump lists still find them. A portal to the new document takes the branch's place (same spot in the tree and on the canvas, same branch line) as one undo step, with a new EditOp::BranchOut; u brings the branch back while the new file stays on disk, as after :new. Then the pane goes through the portal (the user's pick), so Ctrl-o comes back and the breadcrumb starts with the document it came from. Portals inside the branch move along (the user's pick), their paths made from the new file's folder, and their documents' backlinks follow. Links between the branch and the rest can't follow, since links stay inside a document, and the message counts them. The root and portals themselves can't branch out. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
3b8f7c0b3c
commit
5888d143fd
19 files changed
+343
-13
No files matched your search
@@ -96,6 +96,7 @@ The plan for the everyday keys (all of them are in DESIGN.md):
|
||||
| `ma` `'a` `mA` | mark a node / go back to it / a capital mark: from any document |
|
||||
| `gd` | follow a cross-link |
|
||||
| `<Space>p` | a portal to another document (`:portal file`, or a new document's title) |
|
||||
| `<Space>o` | this branch out, into a document of its own, with a portal in its place (`:branchout`) |
|
||||
| Enter or `gf` `gu` | through a portal / up to the portals that lead here |
|
||||
| `<Space>` | the action menu: `c` color, `t` tags, `b` documents, `i` inbox, `vo` outline, `vn` note… |
|
||||
| `Ctrl-w v` `Ctrl-w s` | split the pane side by side / stacked (`Ctrl-w hjkl` to move between them) |
|
||||
|
||||
Reference in new issue
Block a user