speed up some obvious common cases

[?]
May 17, 2022, 4:10 AM
PRPPZGDYFTLRYL4NHUXOXNQKF2LJ4XEOGJDN36DZWBQY6D3K3MGAC

Dependencies

  • [2] RJGZD4IN binary search to most natural up/down with proportional fonts
  • [3] JS6JSYOT online contextual help
  • [4] IYW7X3WL left/right cursor movement, deleting characters
  • [5] 3CS5KKCI up/down cursor movement
  • [*] OTIBCAUJ love2d scaffold

Change contents

  • replacement in main.lua at line 549
    [3.615][2.339:404]()
    cursor_pos = nearest_cursor_pos(lines[cursor_line], old_x)
    [3.615]
    [3.1510]
    cursor_pos = nearest_cursor_pos(lines[cursor_line], old_x, cursor_pos)
  • replacement in main.lua at line 555
    [3.813][2.467:532]()
    cursor_pos = nearest_cursor_pos(lines[cursor_line], old_x)
    [3.813]
    [3.913]
    cursor_pos = nearest_cursor_pos(lines[cursor_line], old_x, cursor_pos)
  • replacement in main.lua at line 715
    [2.783][2.783:820]()
    function nearest_cursor_pos(line, x)
    [2.783]
    [2.820]
    function nearest_cursor_pos(line, x, hint)
  • edit in main.lua at line 719
    [2.856]
    [2.856]
    local max_x = cursor_x(line, #line+1)
    if x > max_x then
    return #line+1
    end
    local currx = cursor_x(line, hint)
    if currx > x-2 and currx < x+2 then
    return hint
    end
  • edit in main.lua at line 728
    [2.889]
    [2.889]
    if currx > x then
    right = hint
    else
    left = hint
    end