summaryrefslogtreecommitdiff
path: root/lua/99/ops/over-range.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/99/ops/over-range.lua')
-rw-r--r--lua/99/ops/over-range.lua23
1 files changed, 17 insertions, 6 deletions
diff --git a/lua/99/ops/over-range.lua b/lua/99/ops/over-range.lua
index 0562a7d..c1fca2a 100644
--- a/lua/99/ops/over-range.lua
+++ b/lua/99/ops/over-range.lua
@@ -3,6 +3,7 @@
local RequestStatus = require("99.ops.request_status")
local Mark = require("99.ops.marks")
+local BaseProvider = require("99.providers")
local geo = require("99.geo")
local make_prompt = require("99.ops.make-prompt")
local CleanUp = require("99.ops.clean-up")
@@ -48,10 +49,9 @@ local function over_range(context, opts)
end)
local system_cmd = context._99.prompts.prompts.visual_selection(range)
- local prompt, refs = make_prompt(context, system_cmd, opts)
+ local prompt = make_prompt(context, system_cmd, opts)
context:add_prompt_content(prompt)
- context:add_references(refs)
context:add_clean_up(clean_up)
top_status:start()
@@ -64,7 +64,7 @@ local function over_range(context, opts)
)
elseif status == "failed" then
logger:error(
- "request failed for visual_selection",
+ "request failed for visual selection",
"error response",
response or "no response provided"
)
@@ -78,16 +78,27 @@ local function over_range(context, opts)
return
end
- if vim.trim(response) == "" then
- print("response was empty, visual replacement aborted")
+ local dt =
+ BaseProvider.BareMetalProvider._parse_openai_response(
+ vim.json.decode(response)
+ ) --[[ @as _A4.OpenAIResponse ]]
+
+ dt.completion.message.content =
+ BaseProvider.BareMetalProvider._clean_response(
+ dt.completion.message.content
+ )
+
+ if vim.trim(dt.completion.message.content) == "" then
logger:debug(
"response was empty, visual replacement aborted"
)
return
end
+ context.req_response = dt.completion.message.content
+
local new_range = Range.from_marks(top_mark, bottom_mark)
- local lines = vim.split(response, "\n")
+ local lines = vim.split(dt.completion.message.content, "\n")
--- HACK: i am adding a new line here because above range will add a mark to the line above.
--- that way this appears to be added to "the same line" as the visual selection was