From 8e074b0a93cae94232e389ac8300a94c20a80cd1 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Mon, 16 May 2022 22:50:52 -0700 Subject: [PATCH] more precise cursor positioning --- main.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/main.lua b/main.lua index ca764be..4d151e2 100644 --- a/main.lua +++ b/main.lua @@ -758,11 +758,12 @@ function nearest_cursor_pos(line, x, hint) end while left < right-1 do local curr = math.floor((left+right)/2) - local currx = cursor_x(line, curr) - if currx > x-2 and currx < x+2 then + local currxmin = cursor_x(line, curr) + local currxmax = cursor_x(line, curr+1) + if currxmin <= x and x < currxmax then return curr end - if currx > x then + if currxmin > x then right = curr else left = curr