bugfix for non-ASCII

This commit is contained in:
Kartik K. Agaram 2022-05-29 07:57:35 -07:00
parent 2b69b71c7a
commit 524157fb8a
1 changed files with 4 additions and 3 deletions

View File

@ -882,13 +882,14 @@ function Text.textinput(t)
end end
function Text.insert_at_cursor(t) function Text.insert_at_cursor(t)
if Selection1.line then Text.delete_selection() end
local byte_offset local byte_offset
if Cursor1.pos > 1 then if Cursor1.pos > 1 then
byte_offset = utf8.offset(Lines[Cursor1.line].data, Cursor1.pos-1) byte_offset = utf8.offset(Lines[Cursor1.line].data, Cursor1.pos)
else else
byte_offset = 0 byte_offset = 1
end end
Lines[Cursor1.line].data = string.sub(Lines[Cursor1.line].data, 1, byte_offset)..t..string.sub(Lines[Cursor1.line].data, byte_offset+1) Lines[Cursor1.line].data = string.sub(Lines[Cursor1.line].data, 1, byte_offset-1)..t..string.sub(Lines[Cursor1.line].data, byte_offset)
Lines[Cursor1.line].fragments = nil Lines[Cursor1.line].fragments = nil
Lines[Cursor1.line].screen_line_starting_pos = nil Lines[Cursor1.line].screen_line_starting_pos = nil
Cursor1.pos = Cursor1.pos+1 Cursor1.pos = Cursor1.pos+1