summaryrefslogtreecommitdiff
path: root/lua/99/ops
diff options
context:
space:
mode:
authorWayne-Cole <77279425+Wacky404@users.noreply.github.com>2026-06-10 11:06:55 -0500
committerWayne-Cole <77279425+Wacky404@users.noreply.github.com>2026-06-10 11:06:55 -0500
commit7e8f65974ddd27a4dc131f2455933c0dc2e5d1ea (patch)
tree5ff2e92e22800b554ada35474e2437b6e0e05f1d /lua/99/ops
parent53c60a9213f4e899bc411373ea2f0c20cf716826 (diff)
downloada4-master.tar.xz
a4-master.zip
fix: prototype of visual buf replacement on demand is workingHEADmaster
Diffstat (limited to 'lua/99/ops')
-rw-r--r--lua/99/ops/make-prompt.lua18
-rw-r--r--lua/99/ops/over-range.lua23
2 files changed, 19 insertions, 22 deletions
diff --git a/lua/99/ops/make-prompt.lua b/lua/99/ops/make-prompt.lua
index f60904b..cd19dcd 100644
--- a/lua/99/ops/make-prompt.lua
+++ b/lua/99/ops/make-prompt.lua
@@ -4,7 +4,7 @@ local Agents = require("99.extensions.agents")
--- @param context _99.Prompt
--- @param prompt string
--- @param opts _99.ops.Opts
---- @return string, _99.Reference[]
+--- @return string
return function(context, prompt, opts)
local user_prompt
@@ -19,20 +19,6 @@ return function(context, prompt, opts)
end
local full_prompt = prompt
- full_prompt = context._99.prompts.prompts.prompt(user_prompt, full_prompt)
- local refs = Completions.parse(user_prompt)
- local additional_rules = opts.additional_rules
- if additional_rules then
- for _, r in ipairs(additional_rules) do
- local content = Agents.get_rule_content(r)
- if content then
- table.insert(refs, {
- content = content,
- })
- end
- end
- end
-
- return full_prompt, refs
+ return full_prompt
end
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