summaryrefslogtreecommitdiff
path: root/src/normal.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 15:38:50 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit9bade7130bc0aa8cbcea82c446fc5747453b1360 (patch)
tree0e701ba5a58f0698957edb792751f348e1a06428 /src/normal.zig
parentccd3075cac77044498a8c35d2482c8b4cb8f56e7 (diff)
downloadpardes-9bade7130bc0aa8cbcea82c446fc5747453b1360.tar.gz
pardes-9bade7130bc0aa8cbcea82c446fc5747453b1360.zip
& aligns the selections into columns
helix-golf's enumerate_and_align ends on %s |\d+<ret>&. align_selections treats the k-th range of each line as column k and puts spaces before each range until its head reaches the widest head of its column, measured in display cells, which File.rawDisplayCol already gives. A range over several lines refuses, as in helix. The example itself still needs more than 64 ranges, which the selection model does not hold. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/normal.zig')
-rw-r--r--src/normal.zig1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/normal.zig b/src/normal.zig
index 9c6f2acd..5a6c1cd5 100644
--- a/src/normal.zig
+++ b/src/normal.zig
@@ -544,6 +544,7 @@ fn executeNormalAction(p: *Pardes, t: *Text, semantic: modal.Normal.Action) void
.join_select_space => return edit.normalJoin(p, t, true),
.rotate_contents_forward => return edit.normalRotateContents(p, t, true, op.count),
.rotate_contents_backward => return edit.normalRotateContents(p, t, false, op.count),
+ .align_selections => return edit.normalAlign(p, t),
.indent => return edit.normalIndent(p, t, op.count, true),
.unindent => return edit.normalIndent(p, t, op.count, false),
.comment_toggle => return edit.normalToggleComment(p, t),