feat(planning): supports insert code after line (#605)
This commit is contained in:
parent
20a81b891e
commit
8fa2757e1b
@ -340,6 +340,12 @@ local function extract_code_snippets(code_content, response_content)
|
|||||||
if start_line_str ~= nil then
|
if start_line_str ~= nil then
|
||||||
start_line = tonumber(start_line_str)
|
start_line = tonumber(start_line_str)
|
||||||
end_line = tonumber(start_line_str)
|
end_line = tonumber(start_line_str)
|
||||||
|
else
|
||||||
|
start_line_str = line:match("[Aa]fter%s+[Ll]ine:?%s*(%d+)")
|
||||||
|
if start_line_str ~= nil then
|
||||||
|
start_line = tonumber(start_line_str) + 1
|
||||||
|
end_line = tonumber(start_line_str) + 1
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if line:match("^%s*```") then
|
if line:match("^%s*```") then
|
||||||
@ -435,9 +441,11 @@ local function insert_conflict_contents(bufnr, snippets)
|
|||||||
|
|
||||||
local result = {}
|
local result = {}
|
||||||
table.insert(result, "<<<<<<< HEAD")
|
table.insert(result, "<<<<<<< HEAD")
|
||||||
|
if start_line ~= end_line then
|
||||||
for i = start_line, end_line do
|
for i = start_line, end_line do
|
||||||
table.insert(result, lines[i])
|
table.insert(result, lines[i])
|
||||||
end
|
end
|
||||||
|
end
|
||||||
table.insert(result, "=======")
|
table.insert(result, "=======")
|
||||||
|
|
||||||
local snippet_lines = vim.split(snippet.content, "\n")
|
local snippet_lines = vim.split(snippet.content, "\n")
|
||||||
@ -452,6 +460,8 @@ local function insert_conflict_contents(bufnr, snippets)
|
|||||||
table.insert(result, line)
|
table.insert(result, line)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if start_line == end_line then table.insert(result, lines[start_line]) end
|
||||||
|
|
||||||
table.insert(result, ">>>>>>> Snippet")
|
table.insert(result, ">>>>>>> Snippet")
|
||||||
|
|
||||||
api.nvim_buf_set_lines(bufnr, offset + start_line - 1, offset + end_line, false, result)
|
api.nvim_buf_set_lines(bufnr, offset + start_line - 1, offset + end_line, false, result)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user