diff options
Diffstat (limited to 'lua/99/ops')
| -rw-r--r-- | lua/99/ops/make-prompt.lua | 18 | ||||
| -rw-r--r-- | lua/99/ops/over-range.lua | 23 |
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 |
