From 9b80687373bfb41d6dc95c07bc39cdddca0fcc29 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Thu, 29 Aug 2024 19:09:25 +0200 Subject: [PATCH] fix: sort by length (shortest first) for equal fuzzy matching scores in palette --- src/tui/mode/overlay/palette.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tui/mode/overlay/palette.zig b/src/tui/mode/overlay/palette.zig index d89b411..d92edef 100644 --- a/src/tui/mode/overlay/palette.zig +++ b/src/tui/mode/overlay/palette.zig @@ -353,7 +353,10 @@ pub fn Create(options: type) type { const less_fn = struct { fn less_fn(_: void, lhs: Match, rhs: Match) bool { - return lhs.score > rhs.score; + return if (lhs.score == rhs.score) + lhs.entry.name.len < rhs.entry.name.len + else + lhs.score > rhs.score; } }.less_fn; std.mem.sort(Match, matches.items, {}, less_fn);