Make `Doc:sanitize_position` return a more appropriate `col` (#1469)

If `line` is out of range, return the `col` "closest" to the original
values.
This commit is contained in:
Guldoman 2023-06-09 15:34:34 +02:00 committed by GitHub
parent a5e3d9757e
commit 595196f4fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 3 deletions

View File

@ -281,9 +281,13 @@ end
-- End of cursor seciton. -- End of cursor seciton.
function Doc:sanitize_position(line, col) function Doc:sanitize_position(line, col)
line = common.clamp(line, 1, #self.lines) local nlines = #self.lines
col = common.clamp(col, 1, #self.lines[line]) if line > nlines then
return line, col return nlines, #self.lines[nlines]
elseif line < 1 then
return 1, 1
end
return line, common.clamp(col, 1, #self.lines[line])
end end