From 9bade7130bc0aa8cbcea82c446fc5747453b1360 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Mon, 28 Sep 2026 15:38:50 -0300 Subject: & aligns the selections into columns helix-golf's enumerate_and_align ends on %s |\d+&. 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 --- src/normal.zig | 1 + 1 file changed, 1 insertion(+) (limited to 'src/normal.zig') 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), -- cgit v1.3