fix(lsp): fix omnicomplete in middle of the line (#25787)

Fixes a regression from 5e5f5174e3

Until that commit we had a logic like this:
`local prefix = startbyte and line:sub(startbyte + 1) or line_to_cursor:sub(word_boundary)`

The commit changed the logic and no longer cut off the line at the cursor,  resulting in a prefix that included trailing characters
This commit is contained in:
Lajos Koszti
2023-10-26 22:40:36 +02:00
committed by GitHub
parent 15983cf2c6
commit ba6761eafe
2 changed files with 60 additions and 2 deletions

View File

@@ -137,6 +137,7 @@ end
function M._convert_results(
line,
lnum,
cursor_col,
client_start_boundary,
server_start_boundary,
result,
@@ -164,7 +165,7 @@ function M._convert_results(
elseif curstartbyte ~= nil and curstartbyte ~= server_start_boundary then
server_start_boundary = client_start_boundary
end
local prefix = line:sub((server_start_boundary or client_start_boundary) + 1)
local prefix = line:sub((server_start_boundary or client_start_boundary) + 1, cursor_col)
local matches = M._lsp_to_complete_items(result, prefix)
return matches, server_start_boundary
end
@@ -212,6 +213,7 @@ function M.omnifunc(findstart, base)
matches, server_start_boundary = M._convert_results(
line,
lnum,
cursor_col,
client_start_boundary,
server_start_boundary,
result,