more precise cursor positioning

This commit is contained in:
Kartik K. Agaram 2022-05-16 22:50:52 -07:00
parent e2d4edb4d8
commit 8e074b0a93
1 changed files with 4 additions and 3 deletions

View File

@ -758,11 +758,12 @@ function nearest_cursor_pos(line, x, hint)
end end
while left < right-1 do while left < right-1 do
local curr = math.floor((left+right)/2) local curr = math.floor((left+right)/2)
local currx = cursor_x(line, curr) local currxmin = cursor_x(line, curr)
if currx > x-2 and currx < x+2 then local currxmax = cursor_x(line, curr+1)
if currxmin <= x and x < currxmax then
return curr return curr
end end
if currx > x then if currxmin > x then
right = curr right = curr
else else
left = curr left = curr