Make marks and counts work, and the completion popup a setting
Marks: the engine read `ma` and `'a`, but the canvas example only said they'd come later. It now sets and jumps to marks, and `''` goes back to where the cursor was before the last jump (a mark, gg, G or :find). Which-key lists `'` after `'`. Counts on operators now mean something on nodes: `3dd` deletes this node and the next two siblings, with their branches, the way vim's `3dd` deletes three lines (Document::siblings_from). Counts before the operator and before the target still multiply, and which-key now says what they add up to: after `2d3`, the `d` entry reads "6 nodes: this one and the next 5 siblings, with their branches". The completion popup can now wait for Tab, like vim's wildmenu: the `completion_popup` setting is "as-you-type" (the default) or "on-tab". The config file comes with the app core; until then the example takes `:set completion_popup=on-tab`. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
bfc184f5ef
commit
57ba2c275d
6 files changed
+199
-35
No files matched your search
@@ -87,6 +87,9 @@ lines.
|
||||
- Tab and `Ctrl-i` jump forward, as in vim, so `a` adds a child.
|
||||
- `dd` deletes a node with its branch; `x` deletes just the node, and its
|
||||
children move up.
|
||||
- A count on `dd`, `yy`, `>>` or `<<` takes in the next siblings: `3dd`
|
||||
deletes this node and the next two, with their branches, as vim's `3dd`
|
||||
takes three lines. Which-key says how many as you type (`2d3`: 6 nodes).
|
||||
- Rapid entry is what happens after `o`, `O` or `a`: Enter starts the next
|
||||
sibling, Tab / Shift-Tab indent and outdent it, Enter on an empty line stops.
|
||||
Esc switches to vim motions inside the text; a second Esc leaves.
|
||||
@@ -334,6 +337,7 @@ which_key = true
|
||||
which_key_delay = "300ms"
|
||||
max_node_width = 30
|
||||
glyphs = "unicode" # "ascii" for fonts without box-drawing characters
|
||||
completion_popup = "as-you-type" # "on-tab": only after Tab, like vim's wildmenu
|
||||
|
||||
# keys.toml: sections motions, normal, canvas, outline, note, visual, move,
|
||||
# connect, list; commands by name (src/input/command.rs); "nothing" unbinds
|
||||
|
||||
Reference in new issue
Block a user