fix: edit supports think tag (#1430)
This commit is contained in:
@@ -165,11 +165,19 @@ function Selection:create_editing_input()
|
|||||||
full_response = full_response .. chunk
|
full_response = full_response .. chunk
|
||||||
local response_lines_ = vim.split(full_response, "\n")
|
local response_lines_ = vim.split(full_response, "\n")
|
||||||
local response_lines = {}
|
local response_lines = {}
|
||||||
for i, line in ipairs(response_lines_) do
|
local in_code_block = false
|
||||||
if string.match(line, "^```") and (i == 1 or i == #response_lines_) then goto continue end
|
for _, line in ipairs(response_lines_) do
|
||||||
if string.match(line, "^```$") then goto continue end
|
if line:match("^<code>") then
|
||||||
|
in_code_block = true
|
||||||
|
line = line:gsub("^<code>", "")
|
||||||
|
if line ~= "" then table.insert(response_lines, line) end
|
||||||
|
elseif line:match("</code>") then
|
||||||
|
in_code_block = false
|
||||||
|
line = line:gsub("</code>.*$", "")
|
||||||
|
if line ~= "" then table.insert(response_lines, line) end
|
||||||
|
elseif in_code_block then
|
||||||
table.insert(response_lines, line)
|
table.insert(response_lines, line)
|
||||||
::continue::
|
end
|
||||||
end
|
end
|
||||||
if #response_lines == 1 then
|
if #response_lines == 1 then
|
||||||
local first_line = response_lines[1]
|
local first_line = response_lines[1]
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
{% block extra_prompt %}
|
{% block extra_prompt %}
|
||||||
Your task is to modify the provided code according to the user's request. Follow these instructions precisely:
|
Your task is to modify the provided code according to the user's request. Follow these instructions precisely:
|
||||||
|
|
||||||
1. Return *ONLY* the complete modified code.
|
1. The code you return must be wrapped in <code></code>, and cannot contain any other code.
|
||||||
|
|
||||||
2. *DO NOT* include three backticks: {%raw%}```{%endraw%} in your suggestion! Treat the suggested code AS IS.
|
2. *DO NOT* include three backticks: {%raw%}```{%endraw%} in your suggestion! Treat the suggested code AS IS.
|
||||||
|
|
||||||
@@ -19,4 +19,39 @@ Your task is to modify the provided code according to the user's request. Follow
|
|||||||
8. *ONLY* return the new code snippets to be updated, *DO NOT* return the entire file content.
|
8. *ONLY* return the new code snippets to be updated, *DO NOT* return the entire file content.
|
||||||
|
|
||||||
Remember that Your response SHOULD CONTAIN ONLY THE MODIFIED CODE to be used as DIRECT REPLACEMENT to the original file.
|
Remember that Your response SHOULD CONTAIN ONLY THE MODIFIED CODE to be used as DIRECT REPLACEMENT to the original file.
|
||||||
|
|
||||||
|
There is an example below:
|
||||||
|
|
||||||
|
Original code:
|
||||||
|
{% raw -%}
|
||||||
|
```python
|
||||||
|
def add(a, b):
|
||||||
|
return a + b
|
||||||
|
|
||||||
|
result = add(2, 3)
|
||||||
|
print(result)
|
||||||
|
```
|
||||||
|
{%- endraw %}
|
||||||
|
|
||||||
|
Selected code:
|
||||||
|
{% raw -%}
|
||||||
|
```python
|
||||||
|
def add(a, b):
|
||||||
|
return a + b
|
||||||
|
```
|
||||||
|
{%- endraw %}
|
||||||
|
|
||||||
|
User request:
|
||||||
|
{% raw -%}
|
||||||
|
Add a print statement to the function
|
||||||
|
{%- endraw %}
|
||||||
|
|
||||||
|
Your response:
|
||||||
|
<code>
|
||||||
|
{% raw -%}
|
||||||
|
def add(a, b):
|
||||||
|
print("Adding", a, "and", b)
|
||||||
|
return a + b
|
||||||
|
{%- endraw %}
|
||||||
|
</code>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
Reference in New Issue
Block a user