From 1c136a007e261f5e052e3e7845d8abed6fde7af7 Mon Sep 17 00:00:00 2001 From: Francis Belanger Date: Tue, 18 Nov 2025 12:02:23 -0500 Subject: [PATCH 1/4] fix(context-actions): fix off by one context actions There was 2 off by one errors when adding contextual actions When adding them in snapshots When refreshing them after a part update A couple of test needed to be regenerated for it to work I added the possibility to regenerate a test snapshot by it's name or file-name --- lua/opencode/ui/formatter.lua | 75 ++++++---------- lua/opencode/ui/render_state.lua | 4 +- lua/opencode/ui/renderer.lua | 2 +- tests/data/diagnostics.expected.json | 2 +- tests/data/diff.expected.json | 2 +- tests/data/markdown-codefence.expected.json | 2 +- tests/data/permission.expected.json | 2 +- tests/data/redo-all.expected.json | 2 +- tests/data/redo-once.expected.json | 2 +- tests/data/revert.expected.json | 2 +- tests/manual/regenerate_expected.sh | 95 ++++++++++++++++----- 11 files changed, 112 insertions(+), 78 deletions(-) diff --git a/lua/opencode/ui/formatter.lua b/lua/opencode/ui/formatter.lua index 386600c2..a039ca27 100644 --- a/lua/opencode/ui/formatter.lua +++ b/lua/opencode/ui/formatter.lua @@ -154,66 +154,45 @@ function M._format_revert_message(session_data, start_idx) return output end +local function add_action(output, text, action_type, args, key, line) + line = (line or output:get_line_count()) - 1 + output:add_action({ + text = text, + type = action_type, + args = args, + key = key, + display_line = line, + range = { from = line, to = line }, + }) +end + ---@param output Output Output object to write to ---@param part OpencodeMessagePart function M._format_patch(output, part) + if not part.hash then + return + end + local restore_points = snapshot.get_restore_points_by_parent(part.hash) or {} M._format_action(output, icons.get('snapshot') .. ' Created Snapshot', vim.trim(part.hash:sub(1, 8))) - local snapshot_header_line = output:get_line_count() -- Anchor all snapshot-level actions to the snapshot header line - output:add_action({ - text = '[R]evert file', - type = 'diff_revert_selected_file', - args = { part.hash }, - key = 'R', - display_line = snapshot_header_line, - range = { from = snapshot_header_line, to = snapshot_header_line }, - }) - output:add_action({ - text = 'Revert [A]ll', - type = 'diff_revert_all', - args = { part.hash }, - key = 'A', - display_line = snapshot_header_line, - range = { from = snapshot_header_line, to = snapshot_header_line }, - }) - output:add_action({ - text = '[D]iff', - type = 'diff_open', - args = { part.hash }, - key = 'D', - display_line = snapshot_header_line, - range = { from = snapshot_header_line, to = snapshot_header_line }, - }) + add_action(output, '[R]evert file', 'diff_revert_selected_file', { part.hash }, 'R') + add_action(output, 'Revert [A]ll', 'diff_revert_all', { part.hash }, 'A') + add_action(output, '[D]iff', 'diff_open', { part.hash }, 'D') if #restore_points > 0 then for _, restore_point in ipairs(restore_points) do output:add_line( string.format( - ' %s Restore point `%s` - %s', + ' %s Restore point `%s` - %s ', icons.get('restore_point'), - restore_point.id:sub(1, 8), + vim.trim(restore_point.id:sub(1, 8)), util.format_time(restore_point.created_at) ) ) - local restore_line = output:get_line_count() - output:add_action({ - text = 'Restore [A]ll', - type = 'diff_restore_snapshot_all', - args = { restore_point.id }, - key = 'A', - display_line = restore_line, - range = { from = restore_line, to = restore_line }, - }) - output:add_action({ - text = '[R]estore file', - type = 'diff_restore_snapshot_file', - args = { restore_point.id }, - key = 'R', - display_line = restore_line, - range = { from = restore_line, to = restore_line }, - }) + add_action(output, 'Restore [A]ll', 'diff_restore_snapshot_all', { restore_point.id }, 'A') + add_action(output, '[R]estore file', 'diff_restore_snapshot_file', { restore_point.id }, 'R') end end end @@ -282,10 +261,10 @@ function M.format_message_header(message) and (not message.parts or #message.parts == 0) then local error = message.info.error - local error_messgage = error.data and error.data.message or vim.inspect(error) + local error_message = error.data and error.data.message or vim.inspect(error) output:add_line('') - M._format_callout(output, 'ERROR', error_messgage) + M._format_callout(output, 'ERROR', error_message) end output:add_line('') @@ -797,8 +776,8 @@ function M.format_part(part, message, is_last_part) if is_last_part and role == 'assistant' and message.info.error and message.info.error ~= '' then local error = message.info.error - local error_messgage = error.data and error.data.message or vim.inspect(error) - M._format_callout(output, 'ERROR', error_messgage) + local error_message = error.data and error.data.message or vim.inspect(error) + M._format_callout(output, 'ERROR', error_message) output:add_empty_line() end diff --git a/lua/opencode/ui/render_state.lua b/lua/opencode/ui/render_state.lua index 61c550b6..f29d30f3 100644 --- a/lua/opencode/ui/render_state.lua +++ b/lua/opencode/ui/render_state.lua @@ -77,8 +77,8 @@ end ---@param snapshot_id string Call ID ---@return OpencodeMessagePart? part Part if found function RenderState:get_part_by_snapshot_id(snapshot_id) - for _, rendered_message in pairs(self._messages) do - for _, part in ipairs(rendered_message.message.parts) do + for _, rendered_message in pairs(self._messages or {}) do + for _, part in ipairs(rendered_message.message.parts or {}) do if part.type == 'patch' and part.hash == snapshot_id then return part end diff --git a/lua/opencode/ui/renderer.lua b/lua/opencode/ui/renderer.lua index 34712e7d..3a1555c6 100644 --- a/lua/opencode/ui/renderer.lua +++ b/lua/opencode/ui/renderer.lua @@ -413,7 +413,7 @@ function M._replace_part_in_buffer(part_id, formatted_data) output_window.set_extmarks(formatted_data.extmarks, cached.line_start) if formatted_data.actions then - M._render_state:add_actions(part_id, formatted_data.actions, cached.line_start) + M._render_state:add_actions(part_id, formatted_data.actions, cached.line_start + 1) end M._render_state:update_part_lines(part_id, cached.line_start, new_line_end) diff --git a/tests/data/diagnostics.expected.json b/tests/data/diagnostics.expected.json index df2c8e89..0295e182 100644 --- a/tests/data/diagnostics.expected.json +++ b/tests/data/diagnostics.expected.json @@ -1 +1 @@ -{"timestamp":1762903196,"extmarks":[[1,1,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-11-03 13:34:57)","OpencodeHint"],[" [msg_a49ed91d6001coTsjFq9x6FF5W]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"right_gravity":true,"virt_text_hide":false}],[2,2,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[3,3,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[4,4,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[5,5,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[6,6,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[7,7,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[8,8,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[9,10,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:34:59)","OpencodeHint"],[" [msg_a49ed9828001mN6CDcWPnGnpHS]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"right_gravity":true,"virt_text_hide":false}],[10,39,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[11,40,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[12,41,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[13,42,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[14,43,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[15,44,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[16,45,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[17,46,0,{"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_row":47,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"end_col":0,"virt_text_pos":"overlay","right_gravity":true,"priority":5000}],[18,46,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[19,47,0,{"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_row":48,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"end_col":0,"virt_text_pos":"overlay","right_gravity":true,"priority":5000}],[20,47,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[21,48,0,{"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_row":49,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"end_col":0,"virt_text_pos":"overlay","right_gravity":true,"priority":5000}],[22,48,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[23,49,0,{"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_row":50,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"end_col":0,"virt_text_pos":"overlay","right_gravity":true,"priority":5000}],[24,49,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[25,50,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[26,51,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[27,52,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[28,53,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[29,54,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[30,55,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[31,60,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:06)","OpencodeHint"],[" [msg_a49edb694001syExFxMUW1ik3n]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"right_gravity":true,"virt_text_hide":false}],[32,78,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[33,79,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[34,80,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[35,81,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[36,82,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[37,83,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[38,84,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[39,85,0,{"hl_group":"OpencodeDiffDelete","virt_text":[["-","OpencodeDiffDelete"]],"ns_id":3,"end_row":86,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"end_col":0,"virt_text_pos":"overlay","right_gravity":true,"priority":5000}],[40,85,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[41,86,0,{"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_row":87,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"end_col":0,"virt_text_pos":"overlay","right_gravity":true,"priority":5000}],[42,86,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[43,87,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[44,88,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[45,89,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[46,90,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[47,91,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[48,92,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[49,97,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:10)","OpencodeHint"],[" [msg_a49edc4640017DZPFVUPHCm7Ji]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"right_gravity":true,"virt_text_hide":false}],[50,105,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[51,106,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[52,107,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[53,108,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[54,109,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[55,110,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[56,111,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[57,112,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[58,113,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[59,114,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[60,115,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[61,116,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[62,117,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[63,118,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[64,119,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[65,120,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[66,121,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[67,122,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[68,123,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[69,124,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[70,125,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[71,126,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[72,127,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[73,128,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[74,129,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[75,130,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[76,131,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[77,132,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[78,133,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[79,134,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[80,135,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[81,136,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[82,137,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[83,138,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[84,139,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[85,140,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[86,141,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[87,142,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[88,143,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[89,144,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[90,145,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[91,146,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[92,147,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[93,148,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[94,149,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[95,150,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[96,151,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[97,152,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[98,153,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[99,154,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[100,155,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[101,156,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[102,157,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[103,158,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[104,159,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[105,160,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[106,161,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[107,162,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[108,163,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[109,164,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[110,165,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[111,166,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[112,167,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[113,168,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[114,169,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[115,170,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[116,171,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[117,172,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[118,173,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[119,174,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[120,175,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[121,176,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[122,177,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[123,178,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[124,179,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[125,180,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[126,181,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[127,182,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[128,183,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[129,184,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[130,185,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[131,186,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[132,187,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[133,188,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[134,189,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[135,190,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[136,191,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[137,192,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[138,193,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[139,194,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[140,195,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[141,196,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[142,197,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[143,198,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[144,199,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[145,200,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[146,201,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[147,202,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[148,203,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[149,204,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[150,205,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[151,206,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[152,207,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[153,208,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[154,209,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[155,210,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[156,211,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[157,212,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[158,213,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[159,214,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[160,215,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[161,216,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[162,217,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[163,218,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[164,219,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[165,220,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[166,221,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[167,222,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[168,223,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[169,224,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[170,225,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[171,226,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[172,227,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[173,228,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[174,229,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[175,230,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[176,231,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[177,232,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[178,233,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[179,234,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[180,235,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[181,236,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[182,237,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[183,238,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[184,239,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[185,240,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[186,241,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[187,242,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[188,243,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[189,244,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[190,245,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[191,246,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[192,247,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[193,248,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[194,249,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[195,250,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[196,251,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[197,252,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[198,253,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[199,254,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[200,255,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[201,256,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[202,257,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[203,258,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[204,259,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[205,260,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[206,261,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[207,262,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[208,263,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[209,264,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[210,265,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[211,266,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[212,267,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[213,268,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[214,269,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[215,270,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[216,271,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[217,272,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[218,273,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[219,274,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[220,275,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[221,276,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[222,277,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[223,278,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[224,279,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[225,280,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[226,281,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[227,282,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[228,283,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[229,284,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[230,285,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[231,286,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[232,287,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[233,288,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[234,289,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[235,290,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[236,291,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[237,292,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[238,293,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[239,294,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[240,295,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[241,296,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[242,297,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[243,298,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[244,299,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[245,300,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[246,301,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[247,302,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[248,303,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[249,304,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[250,305,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[251,306,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[252,307,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[253,308,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[254,309,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[255,310,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[256,311,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[257,312,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[258,313,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[259,314,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[260,315,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[261,316,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[262,317,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[263,318,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[264,319,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[265,320,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[266,321,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[267,322,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[268,323,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[269,324,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[270,325,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[271,326,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[272,327,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[273,328,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[274,329,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[275,330,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[276,331,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[277,332,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[278,333,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[279,334,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[280,335,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[281,336,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[282,337,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[283,338,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[284,339,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[285,340,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[286,341,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[287,342,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[288,343,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[289,344,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[290,345,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[291,346,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[292,347,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[293,348,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[294,349,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[295,350,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[296,351,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[297,352,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[298,353,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[299,354,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[300,355,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[301,356,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[302,357,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[303,358,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[304,359,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[305,360,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[306,361,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[307,362,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[308,363,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[309,364,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[310,365,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[311,366,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[312,367,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[313,368,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[314,369,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[315,370,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[316,371,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[317,372,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[318,373,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[319,374,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[320,375,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[321,376,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[322,377,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[323,378,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[324,379,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[325,380,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[326,381,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[327,382,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[328,383,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[329,384,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[330,385,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[331,386,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[332,387,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[333,388,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[334,389,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[335,390,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[336,391,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[337,392,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[338,393,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[339,394,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[340,395,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[341,396,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[342,397,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[343,398,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[344,399,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[345,400,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[346,401,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[347,402,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[348,403,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[349,404,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[350,405,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[351,406,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[352,407,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[353,408,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[354,409,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[355,410,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[356,411,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[357,412,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[358,413,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[359,414,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[360,415,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[361,416,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[362,417,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[363,418,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[364,419,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[365,420,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[366,421,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[367,422,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[368,423,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[369,424,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[370,425,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[371,426,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[372,427,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[373,428,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[374,429,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[375,430,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[376,431,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[377,432,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[378,433,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[379,434,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[380,435,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[381,436,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[382,437,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[383,438,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[384,439,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[385,440,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[386,441,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[387,442,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[388,443,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[389,444,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[390,445,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[391,446,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[392,447,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[393,448,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[394,449,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[395,450,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[396,451,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[397,452,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[398,453,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[399,454,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[400,455,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[401,456,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[402,457,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[403,458,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[404,459,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[405,460,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[406,461,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[407,462,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[408,463,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[409,464,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[410,465,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[411,466,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[412,467,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[413,468,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[414,469,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[415,470,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[416,471,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[417,472,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[418,473,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[419,474,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[420,475,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[421,476,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[422,477,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[423,478,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[424,479,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[425,480,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[426,481,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[427,482,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[428,483,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[429,484,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[430,485,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[431,486,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[432,487,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[433,488,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[434,489,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[435,490,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[436,491,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[437,492,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[438,493,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[439,494,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[440,495,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[441,496,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[442,497,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[443,498,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[444,499,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[445,500,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[446,501,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[447,502,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[448,503,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[449,504,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[450,505,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[451,506,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[452,507,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[453,508,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[454,509,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[455,510,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[456,511,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[457,512,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[458,513,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[459,514,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[460,515,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[461,516,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[462,517,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[463,518,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[464,519,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[465,520,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[466,521,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[467,522,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[468,523,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[469,524,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[470,525,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[471,526,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[472,527,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[473,528,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[474,529,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[475,530,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[476,531,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[477,532,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[478,533,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[479,534,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[480,535,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[481,536,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[482,537,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[483,538,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[484,539,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[485,540,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[486,541,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[487,542,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[488,543,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[489,544,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[490,545,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[491,546,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[492,547,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[493,548,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[494,549,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[495,550,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[496,551,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[497,552,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[498,553,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[499,554,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[500,555,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[501,556,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[502,557,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[503,558,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[504,559,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[505,560,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[506,561,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[507,562,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[508,563,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[509,564,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[510,565,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[511,566,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[512,567,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[513,568,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[514,569,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[515,570,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[516,571,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[517,572,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[518,573,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[519,574,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_hide":false}],[520,577,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:15)","OpencodeHint"],[" [msg_a49edd87f001eOJDDoq5Vb5hra]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"right_gravity":true,"virt_text_hide":false}]],"lines":["----","","","help me fix the file","","[lua/opencode/core.lua](lua/opencode/core.lua)","","**Diagnostics:**  (3)","","----","","","Let's address the three EmmyLua diagnostics at line 130 in `lua/opencode/core.lua`:","","### 1. `param-type-not-match`: expected `string` but found `string?`","- **Location:** `state.active_session.id` (line 130, col 20)","- **Cause:** `state.active_session` may be `nil`, so `state.active_session.id` could error or be `nil`. The function expects a `string`, not a nullable string.","- **Fix:** Add a nil check for `state.active_session` before accessing `.id`.","","### 2. `param-type-not-match`: expected `{ agent: string?, messageID: string?, model: {...}?, parts: Part[], system: string?, tools: table<...>? }` but found `{ model = table, agent = any, parts = OpencodeMessagePart[], ... }`","- **Location:** `params` argument to `:create_message` (line 130, col 45)","- **Cause:** The `model` field in `params` is `{ providerID = string?, modelID = string? }`, but the expected type is `{ modelID: string, providerID: string }?`. The order and possibly the optionality are mismatched.","- **Fix:** Ensure the `model` field matches the expected type exactly: `{ modelID: string, providerID: string }`.","","### 3. `need-check-nil`: `state.active_session may be nil`","- **Location:** Same as #1. This is a reminder to check for nil before accessing `state.active_session.id`.","","---","","## Step-by-step Fix Plan","","```markdown","- [ ] 1. Add a nil check for `state.active_session` before accessing `.id` in `M.send_message`.","- [ ] 2. Ensure the `model` field in `params` matches the expected type `{ modelID: string, providerID: string }`.","- [ ] 3. Test the changes to ensure the diagnostics are resolved and the function works as expected.","```","","Let's start with step 1: Add a nil check for `state.active_session` before accessing `.id`.","","** edit** `core.lua`","","`````lua"," "," params.parts = context.format_message(prompt, opts.context)"," M.before_run(opts)"," "," if not state.active_session or not state.active_session.id then"," vim.notify('No active session to send message to', vim.log.levels.ERROR)"," return"," end"," state.api_client"," :create_message(state.active_session.id, params)"," :and_then(function(response)"," if not response or not response.info or not response.parts then","","`````","","**󰻛 Created Snapshot** `8e790371`","","----","","","Step 1 is complete: nil check for `state.active_session` before accessing `.id` is added.","","Now, let's address step 2: Ensure the `model` field in `params` matches the expected type `{ modelID: string, providerID: string }`.","","Currently, the code is:","```lua","if opts.model then"," local provider, model = opts.model:match('^(.-)/(.+)$')"," params.model = { providerID = provider, modelID = model }"," state.current_model = opts.model","end","```","The expected type is `{ modelID: string, providerID: string }`, but EmmyLua expects the order to be `modelID` first, then `providerID`. Let's update the assignment to match the expected order.","","I'll fix this now.","","** edit** `core.lua`","","`````lua"," local params = {}"," "," if opts.model then"," local provider, model = opts.model:match('^(.-)/(.+)$')"," params.model = { providerID = provider, modelID = model }"," params.model = { modelID = model, providerID = provider }"," state.current_model = opts.model"," end"," "," if opts.agent then","","`````","","**󰻛 Created Snapshot** `f33f38a7`","","----","","","Step 2 is complete: the `model` field in `params` now matches the expected type `{ modelID = model, providerID = provider }`.","","Now, let's move to step 3: Test the changes to ensure the diagnostics are resolved and the function works as expected.","","I'll run the test suite using the provided script to verify everything is working.","","** run** `Run all tests to verify code changes`","","`````bash","> ./run_tests.sh","","Running tests for opencode.nvim","------------------------------------------------","Starting...Scheduling: ./tests/minimal/plugin_spec.lua","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/minimal/plugin_spec.lua\t","Success\t||\topencode.nvim plugin loads the plugin without errors\t","Success\t||\topencode.nvim plugin can be set up with custom config\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","✓ Minimal tests passed","------------------------------------------------","Starting...Scheduling: ./tests/unit/keymap_spec.lua","Scheduling: ./tests/unit/opencode_server_spec.lua","Scheduling: ./tests/unit/context_completion_spec.lua","Scheduling: ./tests/unit/config_file_spec.lua","Scheduling: ./tests/unit/init_spec.lua","Scheduling: ./tests/unit/state_spec.lua","Scheduling: ./tests/unit/render_state_spec.lua","Scheduling: ./tests/unit/server_job_spec.lua","Scheduling: ./tests/unit/config_spec.lua","Scheduling: ./tests/unit/context_bar_spec.lua","Scheduling: ./tests/unit/renderer_spec.lua","Scheduling: ./tests/unit/api_client_spec.lua","Scheduling: ./tests/unit/core_spec.lua","Scheduling: ./tests/unit/session_spec.lua","Scheduling: ./tests/unit/event_manager_spec.lua","Scheduling: ./tests/unit/api_spec.lua","Scheduling: ./tests/unit/context_spec.lua","Scheduling: ./tests/unit/timer_spec.lua","Scheduling: ./tests/unit/util_spec.lua","Scheduling: ./tests/unit/snapshot_spec.lua","Scheduling: ./tests/unit/id_spec.lua","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_completion_spec.lua\t","Success\t||\tcontext completion get_source should return a completion source\t","Success\t||\tcontext completion complete function should return empty table when trigger char does not match\t","Success\t||\tcontext completion complete function should return context items when trigger char matches\t","Success\t||\tcontext completion complete function should include selection items when selections exist\t","Success\t||\tcontext completion complete function should include mentioned files when they exist\t","Success\t||\tcontext completion complete function should include subagent items when they exist\t","Success\t||\tcontext completion complete function should filter items based on input\t","Success\t||\tcontext completion complete function should sort items with available items first\t","Success\t||\tcontext completion on_complete function should handle nil item gracefully\t","Success\t||\tcontext completion on_complete function should handle item without data gracefully\t","Success\t||\tcontext completion on_complete function should toggle context enabled state for toggleable items\t","Success\t||\tcontext completion on_complete function should remove mentioned file when selected\t","Success\t||\tcontext completion on_complete function should remove subagent when selected\t","Success\t||\tcontext completion on_complete function should remove selection when selection item selected\t","Success\t||\tcontext completion on_complete function should clean up trigger character from current line\t","Success\t||\tcontext completion formatting functions should format diagnostics correctly\t","Success\t||\tcontext completion formatting functions should format cursor data correctly\t","Success\t||\tcontext completion formatting functions should format selection correctly\t","Success\t||\tcontext completion edge cases should handle empty context gracefully\t","Success\t||\tcontext completion edge cases should handle disabled contexts correctly\t","\t","Success: \t20\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/keymap_spec.lua\t","Success\t||\topencode.keymap setup sets up keymap with new format configured keys\t","Success\t||\topencode.keymap setup sets up keymap with old format configured keys (normalized)\t","Success\t||\topencode.keymap setup sets up callbacks that execute the correct commands (new format)\t","Success\t||\topencode.keymap setup sets up callbacks that execute the correct commands (old format normalized)\t","Success\t||\topencode.keymap normalize_keymap normalizes old format keymap to new format correctly\t","Success\t||\topencode.keymap normalize_keymap shows error message for unknown API functions\t","Success\t||\topencode.keymap normalize_keymap uses custom description from config_entry\t","Success\t||\topencode.keymap normalize_keymap falls back to API description when no custom desc provided\t","Success\t||\topencode.keymap setup_window_keymaps handles unknown API functions with error message\t","Success\t||\topencode.keymap setup_window_keymaps uses custom description for window keymaps\t","Success\t||\topencode.keymap setup_permission_keymap sets up permission keymaps when there is a current permission\t","Success\t||\topencode.keymap setup_permission_keymap should delete existing permission keymaps if no current permission exists after being set\t","Success\t||\topencode.keymap setup_permission_keymap does not set permission keymaps when there is no current permission\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/opencode_server_spec.lua\t","Success\t||\topencode.opencode_server creates a new server object\t","Success\t||\topencode.opencode_server spawn promise resolves when stdout emits server URL\t","Success\t||\topencode.opencode_server shutdown resolves shutdown_promise and clears fields\t","Success\t||\topencode.opencode_server calls on_error when stderr is triggered\t","Success\t||\topencode.opencode_server calls on_exit and clears fields when process exits\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/config_file_spec.lua\t","Success\t||\tconfig_file.setup lazily loads config when accessed\t","Success\t||\tconfig_file.setup get_opencode_agents returns primary + defaults\t","Success\t||\tconfig_file.setup get_opencode_agents respects disabled defaults\t","Success\t||\tconfig_file.setup get_opencode_project returns project\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/init_spec.lua\t","Success\t||\topencode has setup function in the public API\t","Success\t||\topencode main module can be required without errors\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/render_state_spec.lua\t","Success\t||\tRenderState new and reset creates a new instance\t","Success\t||\tRenderState new and reset resets to empty state\t","Success\t||\tRenderState set_message sets a new message\t","Success\t||\tRenderState set_message updates line index for message\t","Success\t||\tRenderState set_message updates existing message\t","Success\t||\tRenderState set_part sets a new part\t","Success\t||\tRenderState set_part updates line index for part\t","Success\t||\tRenderState set_part initializes actions array\t","Success\t||\tRenderState get_part_at_line returns part at line\t","Success\t||\tRenderState get_part_at_line returns nil for line without part\t","Success\t||\tRenderState get_message_at_line returns message at line\t","Success\t||\tRenderState get_message_at_line returns nil for line without message\t","Success\t||\tRenderState get_part_by_call_id finds part by call ID\t","Success\t||\tRenderState get_part_by_call_id returns nil when call ID not found\t","Success\t||\tRenderState actions adds actions to part\t","Success\t||\tRenderState actions adds actions with offset\t","Success\t||\tRenderState actions clears actions for part\t","Success\t||\tRenderState actions gets actions at line\t","Success\t||\tRenderState actions gets all actions from all parts\t","Success\t||\tRenderState update_part_lines updates part line positions\t","Success\t||\tRenderState update_part_lines shifts subsequent content when expanding\t","Success\t||\tRenderState update_part_lines shifts subsequent content when shrinking\t","Success\t||\tRenderState update_part_lines returns false for non-existent part\t","Success\t||\tRenderState remove_part removes part and shifts subsequent content\t","Success\t||\tRenderState remove_part clears line index for removed part\t","Success\t||\tRenderState remove_part returns false for non-existent part\t","Success\t||\tRenderState remove_message removes message and shifts subsequent content\t","Success\t||\tRenderState remove_message clears line index for removed message\t","Success\t||\tRenderState remove_message returns false for non-existent message\t","Success\t||\tRenderState shift_all does nothing when delta is 0\t","Success\t||\tRenderState shift_all shifts content at or after from_line\t","Success\t||\tRenderState shift_all shifts actions with parts\t","Success\t||\tRenderState shift_all does not rebuild index when nothing shifted\t","Success\t||\tRenderState shift_all invalidates index when content shifted\t","Success\t||\tRenderState shift_all exits early when content found before from_line\t","Success\t||\tRenderState update_part_data updates part reference\t","Success\t||\tRenderState update_part_data does nothing for non-existent part\t","\t","Success: \t37\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/server_job_spec.lua\t","Success\t||\tserver_job exposes expected public functions\t","Success\t||\tserver_job call_api resolves with decoded json and toggles is_job_running\t","Success\t||\tserver_job call_api rejects on non 2xx\t","Success\t||\tserver_job stream_api forwards chunks\t","Success\t||\tserver_job ensure_server spawns a new opencode server only once\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/config_spec.lua\t","Success\t||\topencode.config uses default values when no options are provided\t","Success\t||\topencode.config merges user options with defaults\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_bar_spec.lua\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders minimal winbar with right aligh token only\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with current file when present\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with multiple context elements\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with diagnostics\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar respects context enabled settings\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar handles empty winbar gracefully\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar does nothing when window is invalid\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar uses provided windows parameter\t","Success\t||\topencode.ui.context_bar setup subscribes to state changes\t","\t","Success: \t9\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/api_client_spec.lua\t","Success\t||\tapi_client should create a new client instance\t","Success\t||\tapi_client should remove trailing slash from base_url\t","Success\t||\tapi_client should create client using create factory function\t","Success\t||\tapi_client should have all expected API methods\t","Success\t||\tapi_client should construct URLs correctly with query parameters\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","Error detected while processing command line:","opencode command not found - please install and configure opencode before using this plugin","Unsupported opencode CLI version: opencode 0.4.1. Requires >= 0.4.2","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/core_spec.lua\t","Success\t||\topencode.core open creates windows if they don't exist\t","Success\t||\topencode.core open handles new session properly\t","Success\t||\topencode.core open focuses the appropriate window\t","Success\t||\topencode.core select_session filters sessions by description and parentID\t","Success\t||\topencode.core send_message sends a message via api_client\t","Success\t||\topencode.core send_message creates new session when none active\t","Success\t||\topencode.core send_message persist options in state when sending message\t","Success\t||\topencode.core opencode_ok (version checks) returns false when opencode executable is missing\t","Success\t||\topencode.core opencode_ok (version checks) returns false when version is below required\t","Success\t||\topencode.core opencode_ok (version checks) returns true when version equals required\t","Success\t||\topencode.core opencode_ok (version checks) returns true when version is above required\t","\t","Success: \t11\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/session_spec.lua\t","Success\t||\topencode.session get_last_workspace_session returns the most recent session for current workspace\t","Success\t||\topencode.session get_last_workspace_session returns nil when no sessions match the workspace\t","Success\t||\topencode.session get_last_workspace_session handles JSON parsing errors\t","Success\t||\topencode.session get_last_workspace_session handles empty session list\t","Success\t||\topencode.session get_by_name returns the session with matching ID\t","Success\t||\topencode.session get_by_name returns nil when no session matches the ID\t","Success\t||\topencode.session read_json_dir returns nil for non-existent directory\t","Success\t||\topencode.session read_json_dir returns nil when directory exists but has no JSON files\t","Success\t||\topencode.session read_json_dir returns decoded JSON content from directory\t","Success\t||\topencode.session read_json_dir skips invalid JSON files\t","Success\t||\topencode.session get_messages returns nil when session is nil\t","Success\t||\topencode.session get_messages returns nil when messages directory does not exist\t","Success\t||\topencode.session get_messages returns messages with their parts\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/state_spec.lua\t","Success\t||\topencode.state (observable) notifies listeners on key change\t","Success\t||\topencode.state (observable) notifies wildcard listeners on any key change\t","Success\t||\topencode.state (observable) can unregister listeners\t","Success\t||\topencode.state (observable) does not notify if value is unchanged\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/event_manager_spec.lua\t","Success\t||\tEventManager should create a new instance\t","Success\t||\tEventManager should subscribe and emit events\t","Success\t||\tEventManager should handle multiple subscribers\t","Success\t||\tEventManager should unsubscribe correctly\t","Success\t||\tEventManager should track subscriber count\t","Success\t||\tEventManager should list event names\t","Success\t||\tEventManager should handle starting and stopping\t","Success\t||\tEventManager should not start multiple times\t","\t","Success: \t8\t","Failed : \t0\t","========================================\t","File not added to context. Could not read.","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_spec.lua\t","Success\t||\textract_from_opencode_message extracts prompt, selected_text, and current_file from tags in parts\t","Success\t||\textract_from_opencode_message returns nils if message or parts missing\t","Success\t||\textract_from_message_legacy extracts legacy tags from text\t","Success\t||\textract_legacy_tag extracts content between tags\t","Success\t||\textract_legacy_tag returns nil if tag not found\t","Success\t||\tformat_message returns a parts array with prompt as first part\t","Success\t||\tformat_message includes mentioned_files and subagents\t","Success\t||\tdelta_context removes current_file if unchanged\t","Success\t||\tdelta_context removes mentioned_subagents if unchanged\t","Success\t||\tadd_file/add_selection/add_subagent adds a file if filereadable\t","Success\t||\tadd_file/add_selection/add_subagent does not add file if not filereadable\t","Success\t||\tadd_file/add_selection/add_subagent adds a selection\t","Success\t||\tadd_file/add_selection/add_subagent adds a subagent\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t",":OpencodeOpenInput is deprecated. Use `:Opencode open input` instead",":OpencodeStop is deprecated. Use `:Opencode cancel` instead",":OpencodeClose is deprecated. Use `:Opencode close` instead","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/api_spec.lua\t","Success\t||\topencode.api commands table contains the expected commands with proper structure\t","Success\t||\topencode.api setup registers the main Opencode command and legacy commands\t","Success\t||\topencode.api setup sets up legacy command functions that route to main command\t","Success\t||\topencode.api Lua API provides callable functions that match commands\t","Success\t||\topencode.api run command argument parsing parses agent prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses model prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses context prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses multiple prefixes and passes all to send_message\t","Success\t||\topencode.api run command argument parsing works with run_new command\t","Success\t||\topencode.api run command argument parsing requires a prompt after prefixes\t","Success\t||\topencode.api run command argument parsing Lua API accepts opts directly without parsing\t","\t","Success: \t11\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/util_spec.lua\t","Success\t||\tutil.parse_dot_args parses flat booleans\t","Success\t||\tutil.parse_dot_args parses nested dot notation\t","Success\t||\tutil.parse_dot_args parses mixed nesting and booleans\t","Success\t||\tutil.parse_dot_args parses numbers\t","Success\t||\tutil.parse_dot_args handles empty string\t","Success\t||\tutil.parse_run_args parses no prefixes\t","Success\t||\tutil.parse_run_args parses single agent prefix\t","Success\t||\tutil.parse_run_args parses single model prefix\t","Success\t||\tutil.parse_run_args parses single context prefix\t","Success\t||\tutil.parse_run_args parses multiple prefixes in order\t","Success\t||\tutil.parse_run_args parses context with multiple comma-delimited values\t","Success\t||\tutil.parse_run_args handles empty prompt after prefixes\t","Success\t||\tutil.parse_run_args handles empty string\t","Success\t||\tutil.parse_run_args stops parsing at first non-prefix token\t","\t","Success: \t14\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/snapshot_spec.lua\t","Success\t||\tsnapshot.restore runs read-tree and checkout-index and notifies on success\t","Success\t||\tsnapshot.restore notifies error if no active session\t","Success\t||\tsnapshot.restore notifies error if read-tree fails\t","Success\t||\tsnapshot.restore notifies error if checkout-index fails\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/id_spec.lua\t","Success\t||\tID module should generate ascending session IDs\t","Success\t||\tID module should generate descending message IDs\t","Success\t||\tID module should validate given IDs correctly\t","Success\t||\tID module should throw error for invalid given IDs\t","Success\t||\tID module should validate schemas correctly\t","Success\t||\tID module should return available prefixes\t","Success\t||\tID module should generate IDs with correct length structure\t","\t","Success: \t7\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/timer_spec.lua\t","Success\t||\tTimer Timer.new creates a new timer with required options\t","Success\t||\tTimer Timer.new sets repeat_timer to false when explicitly disabled\t","Success\t||\tTimer Timer.new stores optional parameters\t","Success\t||\tTimer Timer:start starts a repeating timer\t","Success\t||\tTimer Timer:start starts a one-shot timer\t","Success\t||\tTimer Timer:start passes arguments to on_tick function\t","Success\t||\tTimer Timer:start stops timer when on_tick returns false\t","Success\t||\tTimer Timer:start stops timer when on_tick throws an error\t","Success\t||\tTimer Timer:start stops previous timer before starting new one\t","Success\t||\tTimer Timer:start throws error when timer creation fails\t","Success\t||\tTimer Timer:stop stops a running timer\t","Success\t||\tTimer Timer:stop calls on_stop callback when provided\t","Success\t||\tTimer Timer:stop does nothing when timer is not running\t","Success\t||\tTimer Timer:stop handles errors in on_stop callback gracefully\t","Success\t||\tTimer Timer:is_running returns false when timer is not started\t","Success\t||\tTimer Timer:is_running returns true when timer is running\t","Success\t||\tTimer Timer:is_running returns false after timer is stopped\t","Success\t||\tTimer Timer:is_running returns false after one-shot timer completes\t","Success\t||\tTimer Integration tests can restart a stopped timer\t","Success\t||\tTimer Integration tests handles rapid start/stop cycles\t","\t","Success: \t20\t","Failed : \t0\t","========================================\t","Two pending permissions? existing: per_9efb5b2f3001aqJAFBMiGjFjVZ new: per_9efb5bc2a001j9Bd6bFjLB7hrc","Two pending permissions? existing: per_9efb5bc2a001j9Bd6bFjLB7hrc new: per_9efb5d6d1001uwVXQ9dhlBlgfO","Two pending permissions? existing: per_9efb5b2f3001aqJAFBMiGjFjVZ new: per_9efb5bc2a001j9Bd6bFjLB7hrc","Two pending permissions? existing: per_9efb5bc2a001j9Bd6bFjLB7hrc new: per_9efb5d6d1001uwVXQ9dhlBlgfO","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/renderer_spec.lua\t","Success\t||\trenderer replays ansi-codes correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays ansi-codes correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays ansi-codes correctly (session)\t","Success\t||\trenderer replays api-abort correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays api-abort correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays api-abort correctly (session)\t","Success\t||\trenderer replays api-error correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays api-error correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays api-error correctly (session)\t","Success\t||\trenderer replays cursor_data correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays cursor_data correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays cursor_data correctly (session)\t","Success\t||\trenderer replays diff correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays diff correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays diff correctly (session)\t","Success\t||\trenderer replays markdown-codefence correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays markdown-codefence correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays markdown-codefence correctly (session)\t","Success\t||\trenderer replays mentions-with-ranges correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays mentions-with-ranges correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays mentions-with-ranges correctly (session)\t","Success\t||\trenderer replays message-removal correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays message-removal correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays perf correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays perf correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays perf correctly (session)\t","Success\t||\trenderer replays permission-denied correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission-denied correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission-denied correctly (session)\t","Success\t||\trenderer replays permission-prompt correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission-prompt correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission correctly (session)\t","Success\t||\trenderer replays planning correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays planning correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays planning correctly (session)\t","Success\t||\trenderer replays redo-all correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays redo-all correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays redo-all correctly (session)\t","Success\t||\trenderer replays redo-once correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays redo-once correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays redo-once correctly (session)\t","Success\t||\trenderer replays revert correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays revert correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays revert correctly (session)\t","Success\t||\trenderer replays selection correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays selection correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays selection correctly (session)\t","Success\t||\trenderer replays shifting-and-multiple-perms correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays shifting-and-multiple-perms correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays simple-session correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays simple-session correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays simple-session correctly (session)\t","Success\t||\trenderer replays tool-invalid correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays tool-invalid correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays tool-invalid correctly (session)\t","Success\t||\trenderer replays updating-text correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays updating-text correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays updating-text correctly (session)\t","\t","Success: \t60\t","Failed : \t0\t","========================================\t","✓ Unit tests passed","------------------------------------------------","All tests passed successfully!","","`````","","----","","","All steps are complete and all tests pass! Here’s a summary of what was fixed:","","- ✅ Added a nil check for `state.active_session` before accessing `.id` in `M.send_message`.","- ✅ Ensured the `model` field in `params` matches the expected type `{ modelID = ..., providerID = ... }`.","- ✅ Verified the fixes by running the full test suite—no errors or failures.","","Your file is now robust and EmmyLua diagnostics at line 130 are resolved. If you need further tweaks or want to address other diagnostics, let me know!","",""],"actions":[{"text":"[R]evert file","type":"diff_revert_selected_file","args":["8e7903714919009004aad8754db0035fb47ecb24"],"display_line":59,"range":{"to":59,"from":59},"key":"R"},{"text":"Revert [A]ll","type":"diff_revert_all","args":["8e7903714919009004aad8754db0035fb47ecb24"],"display_line":59,"range":{"to":59,"from":59},"key":"A"},{"text":"[D]iff","type":"diff_open","args":["8e7903714919009004aad8754db0035fb47ecb24"],"display_line":59,"range":{"to":59,"from":59},"key":"D"},{"text":"[R]evert file","type":"diff_revert_selected_file","args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"],"display_line":96,"range":{"to":96,"from":96},"key":"R"},{"text":"Revert [A]ll","type":"diff_revert_all","args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"],"display_line":96,"range":{"to":96,"from":96},"key":"A"},{"text":"[D]iff","type":"diff_open","args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"],"display_line":96,"range":{"to":96,"from":96},"key":"D"}]} \ No newline at end of file +{"timestamp":1763482149,"actions":[{"args":["8e7903714919009004aad8754db0035fb47ecb24"],"text":"[R]evert file","type":"diff_revert_selected_file","key":"R","display_line":58,"range":{"to":58,"from":58}},{"args":["8e7903714919009004aad8754db0035fb47ecb24"],"text":"Revert [A]ll","type":"diff_revert_all","key":"A","display_line":58,"range":{"to":58,"from":58}},{"args":["8e7903714919009004aad8754db0035fb47ecb24"],"text":"[D]iff","type":"diff_open","key":"D","display_line":58,"range":{"to":58,"from":58}},{"args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"],"text":"[R]evert file","type":"diff_revert_selected_file","key":"R","display_line":95,"range":{"to":95,"from":95}},{"args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"],"text":"Revert [A]ll","type":"diff_revert_all","key":"A","display_line":95,"range":{"to":95,"from":95}},{"args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"],"text":"[D]iff","type":"diff_open","key":"D","display_line":95,"range":{"to":95,"from":95}}],"extmarks":[[1,1,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_pos":"win_col","virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-11-03 13:34:57)","OpencodeHint"],[" [msg_a49ed91d6001coTsjFq9x6FF5W]","OpencodeHint"]]}],[2,2,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[3,3,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[4,4,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[5,5,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[6,6,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[7,7,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[8,8,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[9,10,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_pos":"win_col","virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:34:59)","OpencodeHint"],[" [msg_a49ed9828001mN6CDcWPnGnpHS]","OpencodeHint"]]}],[10,39,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[11,40,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[12,41,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[13,42,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[14,43,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[15,44,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[16,45,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[17,46,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffAdd","ns_id":3,"end_col":0,"end_row":47,"hl_eol":true}],[18,46,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[19,47,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffAdd","ns_id":3,"end_col":0,"end_row":48,"hl_eol":true}],[20,47,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[21,48,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffAdd","ns_id":3,"end_col":0,"end_row":49,"hl_eol":true}],[22,48,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[23,49,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffAdd","ns_id":3,"end_col":0,"end_row":50,"hl_eol":true}],[24,49,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[25,50,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[26,51,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[27,52,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[28,53,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[29,54,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[30,55,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[31,60,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_pos":"win_col","virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:06)","OpencodeHint"],[" [msg_a49edb694001syExFxMUW1ik3n]","OpencodeHint"]]}],[32,78,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[33,79,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[34,80,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[35,81,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[36,82,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[37,83,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[38,84,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[39,85,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffDelete","ns_id":3,"end_col":0,"end_row":86,"hl_eol":true}],[40,85,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[41,86,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffAdd","ns_id":3,"end_col":0,"end_row":87,"hl_eol":true}],[42,86,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[43,87,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[44,88,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[45,89,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[46,90,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[47,91,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[48,92,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[49,97,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_pos":"win_col","virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:10)","OpencodeHint"],[" [msg_a49edc4640017DZPFVUPHCm7Ji]","OpencodeHint"]]}],[50,105,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[51,106,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[52,107,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[53,108,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[54,109,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[55,110,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[56,111,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[57,112,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[58,113,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[59,114,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[60,115,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[61,116,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[62,117,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[63,118,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[64,119,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[65,120,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[66,121,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[67,122,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[68,123,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[69,124,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[70,125,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[71,126,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[72,127,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[73,128,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[74,129,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[75,130,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[76,131,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[77,132,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[78,133,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[79,134,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[80,135,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[81,136,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[82,137,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[83,138,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[84,139,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[85,140,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[86,141,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[87,142,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[88,143,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[89,144,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[90,145,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[91,146,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[92,147,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[93,148,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[94,149,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[95,150,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[96,151,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[97,152,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[98,153,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[99,154,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[100,155,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[101,156,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[102,157,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[103,158,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[104,159,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[105,160,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[106,161,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[107,162,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[108,163,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[109,164,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[110,165,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[111,166,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[112,167,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[113,168,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[114,169,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[115,170,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[116,171,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[117,172,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[118,173,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[119,174,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[120,175,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[121,176,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[122,177,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[123,178,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[124,179,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[125,180,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[126,181,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[127,182,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[128,183,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[129,184,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[130,185,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[131,186,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[132,187,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[133,188,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[134,189,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[135,190,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[136,191,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[137,192,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[138,193,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[139,194,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[140,195,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[141,196,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[142,197,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[143,198,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[144,199,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[145,200,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[146,201,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[147,202,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[148,203,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[149,204,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[150,205,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[151,206,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[152,207,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[153,208,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[154,209,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[155,210,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[156,211,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[157,212,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[158,213,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[159,214,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[160,215,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[161,216,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[162,217,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[163,218,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[164,219,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[165,220,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[166,221,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[167,222,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[168,223,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[169,224,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[170,225,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[171,226,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[172,227,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[173,228,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[174,229,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[175,230,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[176,231,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[177,232,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[178,233,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[179,234,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[180,235,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[181,236,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[182,237,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[183,238,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[184,239,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[185,240,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[186,241,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[187,242,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[188,243,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[189,244,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[190,245,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[191,246,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[192,247,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[193,248,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[194,249,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[195,250,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[196,251,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[197,252,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[198,253,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[199,254,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[200,255,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[201,256,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[202,257,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[203,258,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[204,259,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[205,260,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[206,261,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[207,262,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[208,263,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[209,264,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[210,265,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[211,266,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[212,267,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[213,268,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[214,269,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[215,270,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[216,271,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[217,272,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[218,273,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[219,274,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[220,275,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[221,276,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[222,277,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[223,278,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[224,279,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[225,280,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[226,281,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[227,282,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[228,283,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[229,284,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[230,285,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[231,286,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[232,287,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[233,288,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[234,289,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[235,290,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[236,291,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[237,292,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[238,293,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[239,294,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[240,295,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[241,296,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[242,297,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[243,298,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[244,299,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[245,300,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[246,301,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[247,302,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[248,303,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[249,304,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[250,305,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[251,306,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[252,307,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[253,308,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[254,309,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[255,310,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[256,311,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[257,312,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[258,313,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[259,314,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[260,315,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[261,316,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[262,317,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[263,318,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[264,319,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[265,320,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[266,321,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[267,322,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[268,323,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[269,324,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[270,325,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[271,326,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[272,327,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[273,328,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[274,329,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[275,330,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[276,331,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[277,332,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[278,333,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[279,334,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[280,335,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[281,336,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[282,337,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[283,338,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[284,339,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[285,340,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[286,341,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[287,342,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[288,343,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[289,344,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[290,345,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[291,346,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[292,347,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[293,348,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[294,349,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[295,350,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[296,351,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[297,352,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[298,353,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[299,354,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[300,355,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[301,356,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[302,357,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[303,358,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[304,359,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[305,360,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[306,361,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[307,362,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[308,363,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[309,364,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[310,365,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[311,366,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[312,367,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[313,368,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[314,369,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[315,370,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[316,371,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[317,372,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[318,373,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[319,374,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[320,375,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[321,376,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[322,377,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[323,378,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[324,379,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[325,380,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[326,381,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[327,382,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[328,383,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[329,384,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[330,385,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[331,386,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[332,387,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[333,388,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[334,389,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[335,390,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[336,391,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[337,392,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[338,393,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[339,394,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[340,395,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[341,396,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[342,397,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[343,398,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[344,399,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[345,400,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[346,401,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[347,402,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[348,403,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[349,404,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[350,405,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[351,406,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[352,407,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[353,408,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[354,409,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[355,410,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[356,411,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[357,412,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[358,413,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[359,414,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[360,415,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[361,416,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[362,417,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[363,418,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[364,419,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[365,420,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[366,421,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[367,422,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[368,423,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[369,424,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[370,425,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[371,426,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[372,427,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[373,428,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[374,429,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[375,430,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[376,431,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[377,432,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[378,433,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[379,434,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[380,435,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[381,436,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[382,437,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[383,438,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[384,439,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[385,440,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[386,441,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[387,442,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[388,443,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[389,444,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[390,445,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[391,446,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[392,447,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[393,448,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[394,449,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[395,450,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[396,451,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[397,452,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[398,453,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[399,454,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[400,455,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[401,456,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[402,457,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[403,458,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[404,459,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[405,460,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[406,461,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[407,462,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[408,463,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[409,464,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[410,465,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[411,466,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[412,467,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[413,468,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[414,469,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[415,470,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[416,471,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[417,472,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[418,473,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[419,474,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[420,475,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[421,476,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[422,477,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[423,478,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[424,479,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[425,480,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[426,481,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[427,482,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[428,483,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[429,484,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[430,485,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[431,486,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[432,487,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[433,488,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[434,489,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[435,490,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[436,491,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[437,492,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[438,493,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[439,494,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[440,495,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[441,496,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[442,497,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[443,498,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[444,499,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[445,500,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[446,501,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[447,502,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[448,503,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[449,504,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[450,505,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[451,506,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[452,507,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[453,508,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[454,509,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[455,510,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[456,511,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[457,512,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[458,513,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[459,514,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[460,515,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[461,516,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[462,517,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[463,518,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[464,519,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[465,520,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[466,521,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[467,522,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[468,523,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[469,524,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[470,525,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[471,526,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[472,527,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[473,528,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[474,529,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[475,530,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[476,531,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[477,532,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[478,533,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[479,534,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[480,535,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[481,536,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[482,537,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[483,538,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[484,539,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[485,540,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[486,541,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[487,542,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[488,543,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[489,544,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[490,545,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[491,546,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[492,547,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[493,548,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[494,549,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[495,550,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[496,551,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[497,552,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[498,553,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[499,554,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[500,555,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[501,556,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[502,557,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[503,558,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[504,559,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[505,560,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[506,561,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[507,562,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[508,563,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[509,564,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[510,565,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[511,566,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[512,567,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[513,568,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[514,569,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[515,570,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[516,571,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[517,572,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[518,573,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[519,574,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[520,577,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_pos":"win_col","virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:15)","OpencodeHint"],[" [msg_a49edd87f001eOJDDoq5Vb5hra]","OpencodeHint"]]}]],"lines":["----","","","help me fix the file","","[lua/opencode/core.lua](lua/opencode/core.lua)","","**Diagnostics:**  (3)","","----","","","Let's address the three EmmyLua diagnostics at line 130 in `lua/opencode/core.lua`:","","### 1. `param-type-not-match`: expected `string` but found `string?`","- **Location:** `state.active_session.id` (line 130, col 20)","- **Cause:** `state.active_session` may be `nil`, so `state.active_session.id` could error or be `nil`. The function expects a `string`, not a nullable string.","- **Fix:** Add a nil check for `state.active_session` before accessing `.id`.","","### 2. `param-type-not-match`: expected `{ agent: string?, messageID: string?, model: {...}?, parts: Part[], system: string?, tools: table<...>? }` but found `{ model = table, agent = any, parts = OpencodeMessagePart[], ... }`","- **Location:** `params` argument to `:create_message` (line 130, col 45)","- **Cause:** The `model` field in `params` is `{ providerID = string?, modelID = string? }`, but the expected type is `{ modelID: string, providerID: string }?`. The order and possibly the optionality are mismatched.","- **Fix:** Ensure the `model` field matches the expected type exactly: `{ modelID: string, providerID: string }`.","","### 3. `need-check-nil`: `state.active_session may be nil`","- **Location:** Same as #1. This is a reminder to check for nil before accessing `state.active_session.id`.","","---","","## Step-by-step Fix Plan","","```markdown","- [ ] 1. Add a nil check for `state.active_session` before accessing `.id` in `M.send_message`.","- [ ] 2. Ensure the `model` field in `params` matches the expected type `{ modelID: string, providerID: string }`.","- [ ] 3. Test the changes to ensure the diagnostics are resolved and the function works as expected.","```","","Let's start with step 1: Add a nil check for `state.active_session` before accessing `.id`.","","** edit** `core.lua`","","`````lua"," "," params.parts = context.format_message(prompt, opts.context)"," M.before_run(opts)"," "," if not state.active_session or not state.active_session.id then"," vim.notify('No active session to send message to', vim.log.levels.ERROR)"," return"," end"," state.api_client"," :create_message(state.active_session.id, params)"," :and_then(function(response)"," if not response or not response.info or not response.parts then","","`````","","**󰻛 Created Snapshot** `8e790371`","","----","","","Step 1 is complete: nil check for `state.active_session` before accessing `.id` is added.","","Now, let's address step 2: Ensure the `model` field in `params` matches the expected type `{ modelID: string, providerID: string }`.","","Currently, the code is:","```lua","if opts.model then"," local provider, model = opts.model:match('^(.-)/(.+)$')"," params.model = { providerID = provider, modelID = model }"," state.current_model = opts.model","end","```","The expected type is `{ modelID: string, providerID: string }`, but EmmyLua expects the order to be `modelID` first, then `providerID`. Let's update the assignment to match the expected order.","","I'll fix this now.","","** edit** `core.lua`","","`````lua"," local params = {}"," "," if opts.model then"," local provider, model = opts.model:match('^(.-)/(.+)$')"," params.model = { providerID = provider, modelID = model }"," params.model = { modelID = model, providerID = provider }"," state.current_model = opts.model"," end"," "," if opts.agent then","","`````","","**󰻛 Created Snapshot** `f33f38a7`","","----","","","Step 2 is complete: the `model` field in `params` now matches the expected type `{ modelID = model, providerID = provider }`.","","Now, let's move to step 3: Test the changes to ensure the diagnostics are resolved and the function works as expected.","","I'll run the test suite using the provided script to verify everything is working.","","** run** `Run all tests to verify code changes`","","`````bash","> ./run_tests.sh","","Running tests for opencode.nvim","------------------------------------------------","Starting...Scheduling: ./tests/minimal/plugin_spec.lua","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/minimal/plugin_spec.lua\t","Success\t||\topencode.nvim plugin loads the plugin without errors\t","Success\t||\topencode.nvim plugin can be set up with custom config\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","✓ Minimal tests passed","------------------------------------------------","Starting...Scheduling: ./tests/unit/keymap_spec.lua","Scheduling: ./tests/unit/opencode_server_spec.lua","Scheduling: ./tests/unit/context_completion_spec.lua","Scheduling: ./tests/unit/config_file_spec.lua","Scheduling: ./tests/unit/init_spec.lua","Scheduling: ./tests/unit/state_spec.lua","Scheduling: ./tests/unit/render_state_spec.lua","Scheduling: ./tests/unit/server_job_spec.lua","Scheduling: ./tests/unit/config_spec.lua","Scheduling: ./tests/unit/context_bar_spec.lua","Scheduling: ./tests/unit/renderer_spec.lua","Scheduling: ./tests/unit/api_client_spec.lua","Scheduling: ./tests/unit/core_spec.lua","Scheduling: ./tests/unit/session_spec.lua","Scheduling: ./tests/unit/event_manager_spec.lua","Scheduling: ./tests/unit/api_spec.lua","Scheduling: ./tests/unit/context_spec.lua","Scheduling: ./tests/unit/timer_spec.lua","Scheduling: ./tests/unit/util_spec.lua","Scheduling: ./tests/unit/snapshot_spec.lua","Scheduling: ./tests/unit/id_spec.lua","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_completion_spec.lua\t","Success\t||\tcontext completion get_source should return a completion source\t","Success\t||\tcontext completion complete function should return empty table when trigger char does not match\t","Success\t||\tcontext completion complete function should return context items when trigger char matches\t","Success\t||\tcontext completion complete function should include selection items when selections exist\t","Success\t||\tcontext completion complete function should include mentioned files when they exist\t","Success\t||\tcontext completion complete function should include subagent items when they exist\t","Success\t||\tcontext completion complete function should filter items based on input\t","Success\t||\tcontext completion complete function should sort items with available items first\t","Success\t||\tcontext completion on_complete function should handle nil item gracefully\t","Success\t||\tcontext completion on_complete function should handle item without data gracefully\t","Success\t||\tcontext completion on_complete function should toggle context enabled state for toggleable items\t","Success\t||\tcontext completion on_complete function should remove mentioned file when selected\t","Success\t||\tcontext completion on_complete function should remove subagent when selected\t","Success\t||\tcontext completion on_complete function should remove selection when selection item selected\t","Success\t||\tcontext completion on_complete function should clean up trigger character from current line\t","Success\t||\tcontext completion formatting functions should format diagnostics correctly\t","Success\t||\tcontext completion formatting functions should format cursor data correctly\t","Success\t||\tcontext completion formatting functions should format selection correctly\t","Success\t||\tcontext completion edge cases should handle empty context gracefully\t","Success\t||\tcontext completion edge cases should handle disabled contexts correctly\t","\t","Success: \t20\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/keymap_spec.lua\t","Success\t||\topencode.keymap setup sets up keymap with new format configured keys\t","Success\t||\topencode.keymap setup sets up keymap with old format configured keys (normalized)\t","Success\t||\topencode.keymap setup sets up callbacks that execute the correct commands (new format)\t","Success\t||\topencode.keymap setup sets up callbacks that execute the correct commands (old format normalized)\t","Success\t||\topencode.keymap normalize_keymap normalizes old format keymap to new format correctly\t","Success\t||\topencode.keymap normalize_keymap shows error message for unknown API functions\t","Success\t||\topencode.keymap normalize_keymap uses custom description from config_entry\t","Success\t||\topencode.keymap normalize_keymap falls back to API description when no custom desc provided\t","Success\t||\topencode.keymap setup_window_keymaps handles unknown API functions with error message\t","Success\t||\topencode.keymap setup_window_keymaps uses custom description for window keymaps\t","Success\t||\topencode.keymap setup_permission_keymap sets up permission keymaps when there is a current permission\t","Success\t||\topencode.keymap setup_permission_keymap should delete existing permission keymaps if no current permission exists after being set\t","Success\t||\topencode.keymap setup_permission_keymap does not set permission keymaps when there is no current permission\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/opencode_server_spec.lua\t","Success\t||\topencode.opencode_server creates a new server object\t","Success\t||\topencode.opencode_server spawn promise resolves when stdout emits server URL\t","Success\t||\topencode.opencode_server shutdown resolves shutdown_promise and clears fields\t","Success\t||\topencode.opencode_server calls on_error when stderr is triggered\t","Success\t||\topencode.opencode_server calls on_exit and clears fields when process exits\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/config_file_spec.lua\t","Success\t||\tconfig_file.setup lazily loads config when accessed\t","Success\t||\tconfig_file.setup get_opencode_agents returns primary + defaults\t","Success\t||\tconfig_file.setup get_opencode_agents respects disabled defaults\t","Success\t||\tconfig_file.setup get_opencode_project returns project\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/init_spec.lua\t","Success\t||\topencode has setup function in the public API\t","Success\t||\topencode main module can be required without errors\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/render_state_spec.lua\t","Success\t||\tRenderState new and reset creates a new instance\t","Success\t||\tRenderState new and reset resets to empty state\t","Success\t||\tRenderState set_message sets a new message\t","Success\t||\tRenderState set_message updates line index for message\t","Success\t||\tRenderState set_message updates existing message\t","Success\t||\tRenderState set_part sets a new part\t","Success\t||\tRenderState set_part updates line index for part\t","Success\t||\tRenderState set_part initializes actions array\t","Success\t||\tRenderState get_part_at_line returns part at line\t","Success\t||\tRenderState get_part_at_line returns nil for line without part\t","Success\t||\tRenderState get_message_at_line returns message at line\t","Success\t||\tRenderState get_message_at_line returns nil for line without message\t","Success\t||\tRenderState get_part_by_call_id finds part by call ID\t","Success\t||\tRenderState get_part_by_call_id returns nil when call ID not found\t","Success\t||\tRenderState actions adds actions to part\t","Success\t||\tRenderState actions adds actions with offset\t","Success\t||\tRenderState actions clears actions for part\t","Success\t||\tRenderState actions gets actions at line\t","Success\t||\tRenderState actions gets all actions from all parts\t","Success\t||\tRenderState update_part_lines updates part line positions\t","Success\t||\tRenderState update_part_lines shifts subsequent content when expanding\t","Success\t||\tRenderState update_part_lines shifts subsequent content when shrinking\t","Success\t||\tRenderState update_part_lines returns false for non-existent part\t","Success\t||\tRenderState remove_part removes part and shifts subsequent content\t","Success\t||\tRenderState remove_part clears line index for removed part\t","Success\t||\tRenderState remove_part returns false for non-existent part\t","Success\t||\tRenderState remove_message removes message and shifts subsequent content\t","Success\t||\tRenderState remove_message clears line index for removed message\t","Success\t||\tRenderState remove_message returns false for non-existent message\t","Success\t||\tRenderState shift_all does nothing when delta is 0\t","Success\t||\tRenderState shift_all shifts content at or after from_line\t","Success\t||\tRenderState shift_all shifts actions with parts\t","Success\t||\tRenderState shift_all does not rebuild index when nothing shifted\t","Success\t||\tRenderState shift_all invalidates index when content shifted\t","Success\t||\tRenderState shift_all exits early when content found before from_line\t","Success\t||\tRenderState update_part_data updates part reference\t","Success\t||\tRenderState update_part_data does nothing for non-existent part\t","\t","Success: \t37\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/server_job_spec.lua\t","Success\t||\tserver_job exposes expected public functions\t","Success\t||\tserver_job call_api resolves with decoded json and toggles is_job_running\t","Success\t||\tserver_job call_api rejects on non 2xx\t","Success\t||\tserver_job stream_api forwards chunks\t","Success\t||\tserver_job ensure_server spawns a new opencode server only once\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/config_spec.lua\t","Success\t||\topencode.config uses default values when no options are provided\t","Success\t||\topencode.config merges user options with defaults\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_bar_spec.lua\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders minimal winbar with right aligh token only\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with current file when present\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with multiple context elements\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with diagnostics\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar respects context enabled settings\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar handles empty winbar gracefully\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar does nothing when window is invalid\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar uses provided windows parameter\t","Success\t||\topencode.ui.context_bar setup subscribes to state changes\t","\t","Success: \t9\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/api_client_spec.lua\t","Success\t||\tapi_client should create a new client instance\t","Success\t||\tapi_client should remove trailing slash from base_url\t","Success\t||\tapi_client should create client using create factory function\t","Success\t||\tapi_client should have all expected API methods\t","Success\t||\tapi_client should construct URLs correctly with query parameters\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","Error detected while processing command line:","opencode command not found - please install and configure opencode before using this plugin","Unsupported opencode CLI version: opencode 0.4.1. Requires >= 0.4.2","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/core_spec.lua\t","Success\t||\topencode.core open creates windows if they don't exist\t","Success\t||\topencode.core open handles new session properly\t","Success\t||\topencode.core open focuses the appropriate window\t","Success\t||\topencode.core select_session filters sessions by description and parentID\t","Success\t||\topencode.core send_message sends a message via api_client\t","Success\t||\topencode.core send_message creates new session when none active\t","Success\t||\topencode.core send_message persist options in state when sending message\t","Success\t||\topencode.core opencode_ok (version checks) returns false when opencode executable is missing\t","Success\t||\topencode.core opencode_ok (version checks) returns false when version is below required\t","Success\t||\topencode.core opencode_ok (version checks) returns true when version equals required\t","Success\t||\topencode.core opencode_ok (version checks) returns true when version is above required\t","\t","Success: \t11\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/session_spec.lua\t","Success\t||\topencode.session get_last_workspace_session returns the most recent session for current workspace\t","Success\t||\topencode.session get_last_workspace_session returns nil when no sessions match the workspace\t","Success\t||\topencode.session get_last_workspace_session handles JSON parsing errors\t","Success\t||\topencode.session get_last_workspace_session handles empty session list\t","Success\t||\topencode.session get_by_name returns the session with matching ID\t","Success\t||\topencode.session get_by_name returns nil when no session matches the ID\t","Success\t||\topencode.session read_json_dir returns nil for non-existent directory\t","Success\t||\topencode.session read_json_dir returns nil when directory exists but has no JSON files\t","Success\t||\topencode.session read_json_dir returns decoded JSON content from directory\t","Success\t||\topencode.session read_json_dir skips invalid JSON files\t","Success\t||\topencode.session get_messages returns nil when session is nil\t","Success\t||\topencode.session get_messages returns nil when messages directory does not exist\t","Success\t||\topencode.session get_messages returns messages with their parts\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/state_spec.lua\t","Success\t||\topencode.state (observable) notifies listeners on key change\t","Success\t||\topencode.state (observable) notifies wildcard listeners on any key change\t","Success\t||\topencode.state (observable) can unregister listeners\t","Success\t||\topencode.state (observable) does not notify if value is unchanged\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/event_manager_spec.lua\t","Success\t||\tEventManager should create a new instance\t","Success\t||\tEventManager should subscribe and emit events\t","Success\t||\tEventManager should handle multiple subscribers\t","Success\t||\tEventManager should unsubscribe correctly\t","Success\t||\tEventManager should track subscriber count\t","Success\t||\tEventManager should list event names\t","Success\t||\tEventManager should handle starting and stopping\t","Success\t||\tEventManager should not start multiple times\t","\t","Success: \t8\t","Failed : \t0\t","========================================\t","File not added to context. Could not read.","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_spec.lua\t","Success\t||\textract_from_opencode_message extracts prompt, selected_text, and current_file from tags in parts\t","Success\t||\textract_from_opencode_message returns nils if message or parts missing\t","Success\t||\textract_from_message_legacy extracts legacy tags from text\t","Success\t||\textract_legacy_tag extracts content between tags\t","Success\t||\textract_legacy_tag returns nil if tag not found\t","Success\t||\tformat_message returns a parts array with prompt as first part\t","Success\t||\tformat_message includes mentioned_files and subagents\t","Success\t||\tdelta_context removes current_file if unchanged\t","Success\t||\tdelta_context removes mentioned_subagents if unchanged\t","Success\t||\tadd_file/add_selection/add_subagent adds a file if filereadable\t","Success\t||\tadd_file/add_selection/add_subagent does not add file if not filereadable\t","Success\t||\tadd_file/add_selection/add_subagent adds a selection\t","Success\t||\tadd_file/add_selection/add_subagent adds a subagent\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t",":OpencodeOpenInput is deprecated. Use `:Opencode open input` instead",":OpencodeStop is deprecated. Use `:Opencode cancel` instead",":OpencodeClose is deprecated. Use `:Opencode close` instead","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/api_spec.lua\t","Success\t||\topencode.api commands table contains the expected commands with proper structure\t","Success\t||\topencode.api setup registers the main Opencode command and legacy commands\t","Success\t||\topencode.api setup sets up legacy command functions that route to main command\t","Success\t||\topencode.api Lua API provides callable functions that match commands\t","Success\t||\topencode.api run command argument parsing parses agent prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses model prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses context prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses multiple prefixes and passes all to send_message\t","Success\t||\topencode.api run command argument parsing works with run_new command\t","Success\t||\topencode.api run command argument parsing requires a prompt after prefixes\t","Success\t||\topencode.api run command argument parsing Lua API accepts opts directly without parsing\t","\t","Success: \t11\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/util_spec.lua\t","Success\t||\tutil.parse_dot_args parses flat booleans\t","Success\t||\tutil.parse_dot_args parses nested dot notation\t","Success\t||\tutil.parse_dot_args parses mixed nesting and booleans\t","Success\t||\tutil.parse_dot_args parses numbers\t","Success\t||\tutil.parse_dot_args handles empty string\t","Success\t||\tutil.parse_run_args parses no prefixes\t","Success\t||\tutil.parse_run_args parses single agent prefix\t","Success\t||\tutil.parse_run_args parses single model prefix\t","Success\t||\tutil.parse_run_args parses single context prefix\t","Success\t||\tutil.parse_run_args parses multiple prefixes in order\t","Success\t||\tutil.parse_run_args parses context with multiple comma-delimited values\t","Success\t||\tutil.parse_run_args handles empty prompt after prefixes\t","Success\t||\tutil.parse_run_args handles empty string\t","Success\t||\tutil.parse_run_args stops parsing at first non-prefix token\t","\t","Success: \t14\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/snapshot_spec.lua\t","Success\t||\tsnapshot.restore runs read-tree and checkout-index and notifies on success\t","Success\t||\tsnapshot.restore notifies error if no active session\t","Success\t||\tsnapshot.restore notifies error if read-tree fails\t","Success\t||\tsnapshot.restore notifies error if checkout-index fails\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/id_spec.lua\t","Success\t||\tID module should generate ascending session IDs\t","Success\t||\tID module should generate descending message IDs\t","Success\t||\tID module should validate given IDs correctly\t","Success\t||\tID module should throw error for invalid given IDs\t","Success\t||\tID module should validate schemas correctly\t","Success\t||\tID module should return available prefixes\t","Success\t||\tID module should generate IDs with correct length structure\t","\t","Success: \t7\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/timer_spec.lua\t","Success\t||\tTimer Timer.new creates a new timer with required options\t","Success\t||\tTimer Timer.new sets repeat_timer to false when explicitly disabled\t","Success\t||\tTimer Timer.new stores optional parameters\t","Success\t||\tTimer Timer:start starts a repeating timer\t","Success\t||\tTimer Timer:start starts a one-shot timer\t","Success\t||\tTimer Timer:start passes arguments to on_tick function\t","Success\t||\tTimer Timer:start stops timer when on_tick returns false\t","Success\t||\tTimer Timer:start stops timer when on_tick throws an error\t","Success\t||\tTimer Timer:start stops previous timer before starting new one\t","Success\t||\tTimer Timer:start throws error when timer creation fails\t","Success\t||\tTimer Timer:stop stops a running timer\t","Success\t||\tTimer Timer:stop calls on_stop callback when provided\t","Success\t||\tTimer Timer:stop does nothing when timer is not running\t","Success\t||\tTimer Timer:stop handles errors in on_stop callback gracefully\t","Success\t||\tTimer Timer:is_running returns false when timer is not started\t","Success\t||\tTimer Timer:is_running returns true when timer is running\t","Success\t||\tTimer Timer:is_running returns false after timer is stopped\t","Success\t||\tTimer Timer:is_running returns false after one-shot timer completes\t","Success\t||\tTimer Integration tests can restart a stopped timer\t","Success\t||\tTimer Integration tests handles rapid start/stop cycles\t","\t","Success: \t20\t","Failed : \t0\t","========================================\t","Two pending permissions? existing: per_9efb5b2f3001aqJAFBMiGjFjVZ new: per_9efb5bc2a001j9Bd6bFjLB7hrc","Two pending permissions? existing: per_9efb5bc2a001j9Bd6bFjLB7hrc new: per_9efb5d6d1001uwVXQ9dhlBlgfO","Two pending permissions? existing: per_9efb5b2f3001aqJAFBMiGjFjVZ new: per_9efb5bc2a001j9Bd6bFjLB7hrc","Two pending permissions? existing: per_9efb5bc2a001j9Bd6bFjLB7hrc new: per_9efb5d6d1001uwVXQ9dhlBlgfO","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/renderer_spec.lua\t","Success\t||\trenderer replays ansi-codes correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays ansi-codes correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays ansi-codes correctly (session)\t","Success\t||\trenderer replays api-abort correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays api-abort correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays api-abort correctly (session)\t","Success\t||\trenderer replays api-error correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays api-error correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays api-error correctly (session)\t","Success\t||\trenderer replays cursor_data correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays cursor_data correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays cursor_data correctly (session)\t","Success\t||\trenderer replays diff correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays diff correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays diff correctly (session)\t","Success\t||\trenderer replays markdown-codefence correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays markdown-codefence correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays markdown-codefence correctly (session)\t","Success\t||\trenderer replays mentions-with-ranges correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays mentions-with-ranges correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays mentions-with-ranges correctly (session)\t","Success\t||\trenderer replays message-removal correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays message-removal correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays perf correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays perf correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays perf correctly (session)\t","Success\t||\trenderer replays permission-denied correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission-denied correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission-denied correctly (session)\t","Success\t||\trenderer replays permission-prompt correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission-prompt correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission correctly (session)\t","Success\t||\trenderer replays planning correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays planning correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays planning correctly (session)\t","Success\t||\trenderer replays redo-all correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays redo-all correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays redo-all correctly (session)\t","Success\t||\trenderer replays redo-once correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays redo-once correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays redo-once correctly (session)\t","Success\t||\trenderer replays revert correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays revert correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays revert correctly (session)\t","Success\t||\trenderer replays selection correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays selection correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays selection correctly (session)\t","Success\t||\trenderer replays shifting-and-multiple-perms correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays shifting-and-multiple-perms correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays simple-session correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays simple-session correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays simple-session correctly (session)\t","Success\t||\trenderer replays tool-invalid correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays tool-invalid correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays tool-invalid correctly (session)\t","Success\t||\trenderer replays updating-text correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays updating-text correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays updating-text correctly (session)\t","\t","Success: \t60\t","Failed : \t0\t","========================================\t","✓ Unit tests passed","------------------------------------------------","All tests passed successfully!","","`````","","----","","","All steps are complete and all tests pass! Here’s a summary of what was fixed:","","- ✅ Added a nil check for `state.active_session` before accessing `.id` in `M.send_message`.","- ✅ Ensured the `model` field in `params` matches the expected type `{ modelID = ..., providerID = ... }`.","- ✅ Verified the fixes by running the full test suite—no errors or failures.","","Your file is now robust and EmmyLua diagnostics at line 130 are resolved. If you need further tweaks or want to address other diagnostics, let me know!","",""]} \ No newline at end of file diff --git a/tests/data/diff.expected.json b/tests/data/diff.expected.json index 059f203d..94ef1e34 100644 --- a/tests/data/diff.expected.json +++ b/tests/data/diff.expected.json @@ -1 +1 @@ -{"extmarks":[[1,1,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-3,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"right_gravity":true,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-12 06:42:56)","OpencodeHint"],[" [msg_9d7287269001C5gRusYfX7A1w1]","OpencodeHint"]]}],[2,2,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-3,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]]}],[3,3,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-3,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]]}],[4,3,39,{"right_gravity":true,"end_row":3,"end_col":53,"hl_group":"OpencodeMention","ns_id":3,"priority":1000,"hl_eol":false,"end_right_gravity":false}],[5,4,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-3,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]]}],[6,5,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-3,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]]}],[7,8,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-3,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 06:42:56)","OpencodeHint"],[" [msg_9d7287287001HVwpPaH7WkRVdN]","OpencodeHint"]]}],[8,10,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-1,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]]}],[9,11,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-1,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]]}],[10,12,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-1,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]]}],[11,13,0,{"virt_text_pos":"overlay","virt_text_hide":false,"end_col":0,"ns_id":3,"end_right_gravity":false,"virt_text_repeat_linebreak":false,"end_row":14,"hl_group":"OpencodeDiffDelete","right_gravity":true,"priority":5000,"hl_eol":true,"virt_text":[["-","OpencodeDiffDelete"]]}],[12,13,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-1,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]]}],[13,14,0,{"virt_text_pos":"overlay","virt_text_hide":false,"end_col":0,"ns_id":3,"end_right_gravity":false,"virt_text_repeat_linebreak":false,"end_row":15,"hl_group":"OpencodeDiffAdd","right_gravity":true,"priority":5000,"hl_eol":true,"virt_text":[["+","OpencodeDiffAdd"]]}],[14,14,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-1,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]]}],[15,15,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-1,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]]}],[16,16,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-1,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]]}],[17,21,0,{"virt_text_pos":"win_col","virt_text_hide":false,"virt_text_win_col":-3,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 06:43:03)","OpencodeHint"],[" [msg_9d7288f2f001hW6NqqhtBc72UU]","OpencodeHint"]]}]],"timestamp":1762908306,"lines":["----","","","can you add \"great\" before \"string\" in @diff-test.txt?","","[diff-test.txt](diff-test.txt)","","----","","","** edit** `diff-test.txt`","","`````txt"," this is a string"," this is a great string","","`````","","**󰻛 Created Snapshot** `1f593f7e`","","----","","",""],"actions":[{"key":"R","text":"[R]evert file","display_line":20,"args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"range":{"from":20,"to":20},"type":"diff_revert_selected_file"},{"key":"A","text":"Revert [A]ll","display_line":20,"args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"range":{"from":20,"to":20},"type":"diff_revert_all"},{"key":"D","text":"[D]iff","display_line":20,"args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"range":{"from":20,"to":20},"type":"diff_open"}]} \ No newline at end of file +{"actions":[{"range":{"from":19,"to":19},"args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"type":"diff_revert_selected_file","text":"[R]evert file","display_line":19,"key":"R"},{"range":{"from":19,"to":19},"args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"type":"diff_revert_all","text":"Revert [A]ll","display_line":19,"key":"A"},{"range":{"from":19,"to":19},"args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"type":"diff_open","text":"[D]iff","display_line":19,"key":"D"}],"timestamp":1763482495,"lines":["----","","","can you add \"great\" before \"string\" in @diff-test.txt?","","[diff-test.txt](diff-test.txt)","","----","","","** edit** `diff-test.txt`","","`````txt"," this is a string"," this is a great string","","`````","","**󰻛 Created Snapshot** `1f593f7e`","","----","","",""],"extmarks":[[1,1,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":10,"virt_text_repeat_linebreak":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-12 06:42:56)","OpencodeHint"],[" [msg_9d7287269001C5gRusYfX7A1w1]","OpencodeHint"]],"virt_text_win_col":-3}],[2,2,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_win_col":-3}],[3,3,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_win_col":-3}],[4,3,39,{"ns_id":3,"right_gravity":true,"end_col":53,"end_row":3,"priority":1000,"hl_eol":false,"end_right_gravity":false,"hl_group":"OpencodeMention"}],[5,4,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_win_col":-3}],[6,5,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_win_col":-3}],[7,8,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":10,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 06:42:56)","OpencodeHint"],[" [msg_9d7287287001HVwpPaH7WkRVdN]","OpencodeHint"]],"virt_text_win_col":-3}],[8,10,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[9,11,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[10,12,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[11,13,0,{"hl_eol":true,"right_gravity":true,"end_col":0,"end_row":14,"virt_text_repeat_linebreak":false,"hl_group":"OpencodeDiffDelete","ns_id":3,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","priority":5000,"end_right_gravity":false,"virt_text_hide":false}],[12,13,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[13,14,0,{"hl_eol":true,"right_gravity":true,"end_col":0,"end_row":15,"virt_text_repeat_linebreak":false,"hl_group":"OpencodeDiffAdd","ns_id":3,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"end_right_gravity":false,"virt_text_hide":false}],[14,14,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[15,15,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[16,16,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[17,21,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":10,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 06:43:03)","OpencodeHint"],[" [msg_9d7288f2f001hW6NqqhtBc72UU]","OpencodeHint"]],"virt_text_win_col":-3}]]} \ No newline at end of file diff --git a/tests/data/markdown-codefence.expected.json b/tests/data/markdown-codefence.expected.json index 5e0bcfad..4aa92833 100644 --- a/tests/data/markdown-codefence.expected.json +++ b/tests/data/markdown-codefence.expected.json @@ -1 +1 @@ -{"actions":[{"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"key":"R","display_line":25,"text":"[R]evert file","range":{"to":25,"from":25},"type":"diff_revert_selected_file"},{"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"key":"A","display_line":25,"text":"Revert [A]ll","range":{"to":25,"from":25},"type":"diff_revert_all"},{"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"key":"D","display_line":25,"text":"[D]iff","range":{"to":25,"from":25},"type":"diff_open"}],"timestamp":1762903197,"lines":["----","","","Now let me also update the Run opts examples to use the new command syntax:","","** edit** `README.md`","","`````markdown"," "," Run a prompt in a new session using the Plan agent and disabling current file context:"," "," ```vim"," :OpencodeRunNewSession \"Please help me plan a new feature\" agent=plan context.current_file.enabled=false"," :OpencodeRun \"Fix the bug in the current file\" model=github-copilot/claude-sonned-4"," :Opencode run new_session \"Please help me plan a new feature\" agent=plan context.current_file.enabled=false"," :Opencode run \"Fix the bug in the current file\" model=github-copilot/claude-sonned-4"," ```"," "," ##👮 Permissions"," ","","`````","","**󰻛 Created Snapshot** `c64ddee8`","","----","","","README updated with the new nested command structure. The documentation now shows the new `:Opencode` subcommand syntax and includes a note that legacy `Opencode*` commands are still available by default but will be removed in the future.","","----","","","can you rename Opencode stop to Opencode cancel (and rename the api call)","","[README.md](README.md)","","----","","","Here's the plan to rename `Opencode stop` to `Opencode cancel` and update the API call accordingly:","","---","","## 📝 Plan: Rename Opencode Stop to Cancel","","### 1. Update Command Table and Documentation","- In README.md, change:"," - Command: `:Opencode stop` → `:Opencode cancel`"," - API: `require('opencode.api').stop()` → `require('opencode.api').cancel()`"," - Keymap: `` remains the same (unless you want to change it)","","### 2. Update Codebase","- In `lua/opencode/api.lua`:"," - Rename the function `M.stop()` to `M.cancel()`"," - Update all references to `stop` (command registration, legacy command map, subcommand routing, etc.) to use `cancel`"," - Ensure legacy command `OpencodeStop` still works (with deprecation warning), but routes to `cancel`","- In any other files (keymap config, tests, etc.) update references to `stop` to `cancel` as needed","","### 3. Update Tests","- In `tests/unit/api_spec.lua`:"," - Update any tests that check for `stop` to check for `cancel`","","### 4. Update Slash Commands (if applicable)","- If there is a `/stop` slash command, rename it to `/cancel`","","### 5. Verify","- Run all tests to ensure everything works","- Check that both `:Opencode cancel` and legacy `:OpencodeStop` work (with warning)","","---","","**Note:** You are currently in \"Plan mode\" (read-only phase), so I cannot make edits right now. ","When you switch to edit mode, I will execute this plan step by step and verify all changes.","","Would you like to proceed with this plan when edits are allowed?","",""],"extmarks":[[1,1,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-28 21:53:58)","OpencodeHint"],[" [msg_a2cd04588001P9plKmrFnsNH3M]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10,"right_gravity":true,"virt_text_repeat_linebreak":false}],[2,5,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[3,6,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[4,7,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[5,8,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[6,9,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[7,10,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[8,11,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[9,12,0,{"end_col":0,"end_row":13,"right_gravity":true,"ns_id":3,"hl_group":"OpencodeDiffDelete","virt_text_pos":"overlay","virt_text":[["-","OpencodeDiffDelete"]],"hl_eol":true,"end_right_gravity":false,"priority":5000,"virt_text_hide":false,"virt_text_repeat_linebreak":false}],[10,12,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[11,13,0,{"end_col":0,"end_row":14,"right_gravity":true,"ns_id":3,"hl_group":"OpencodeDiffDelete","virt_text_pos":"overlay","virt_text":[["-","OpencodeDiffDelete"]],"hl_eol":true,"end_right_gravity":false,"priority":5000,"virt_text_hide":false,"virt_text_repeat_linebreak":false}],[12,13,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[13,14,0,{"end_col":0,"end_row":15,"right_gravity":true,"ns_id":3,"hl_group":"OpencodeDiffAdd","virt_text_pos":"overlay","virt_text":[["+","OpencodeDiffAdd"]],"hl_eol":true,"end_right_gravity":false,"priority":5000,"virt_text_hide":false,"virt_text_repeat_linebreak":false}],[14,14,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[15,15,0,{"end_col":0,"end_row":16,"right_gravity":true,"ns_id":3,"hl_group":"OpencodeDiffAdd","virt_text_pos":"overlay","virt_text":[["+","OpencodeDiffAdd"]],"hl_eol":true,"end_right_gravity":false,"priority":5000,"virt_text_hide":false,"virt_text_repeat_linebreak":false}],[16,15,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[17,16,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[18,17,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[19,18,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[20,19,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[21,20,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[22,21,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[23,26,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-28 21:54:05)","OpencodeHint"],[" [msg_a2cd062fb001UA0ZzR6JxgLxDQ]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10,"right_gravity":true,"virt_text_repeat_linebreak":false}],[24,31,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-28 22:34:58)","OpencodeHint"],[" [msg_a2cf5ce65001YLvVsYxIboFcP4]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10,"right_gravity":true,"virt_text_repeat_linebreak":false}],[25,32,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[26,33,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[27,34,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[28,35,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"right_gravity":true,"virt_text_repeat_linebreak":true}],[29,38,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["PLAN","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-28 22:34:58)","OpencodeHint"],[" [msg_a2cf5cf0f002oBAjmnGIMGXjez]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10,"right_gravity":true,"virt_text_repeat_linebreak":false}]]} \ No newline at end of file +{"lines":["----","","","Now let me also update the Run opts examples to use the new command syntax:","","** edit** `README.md`","","`````markdown"," "," Run a prompt in a new session using the Plan agent and disabling current file context:"," "," ```vim"," :OpencodeRunNewSession \"Please help me plan a new feature\" agent=plan context.current_file.enabled=false"," :OpencodeRun \"Fix the bug in the current file\" model=github-copilot/claude-sonned-4"," :Opencode run new_session \"Please help me plan a new feature\" agent=plan context.current_file.enabled=false"," :Opencode run \"Fix the bug in the current file\" model=github-copilot/claude-sonned-4"," ```"," "," ##👮 Permissions"," ","","`````","","**󰻛 Created Snapshot** `c64ddee8`","","----","","","README updated with the new nested command structure. The documentation now shows the new `:Opencode` subcommand syntax and includes a note that legacy `Opencode*` commands are still available by default but will be removed in the future.","","----","","","can you rename Opencode stop to Opencode cancel (and rename the api call)","","[README.md](README.md)","","----","","","Here's the plan to rename `Opencode stop` to `Opencode cancel` and update the API call accordingly:","","---","","## 📝 Plan: Rename Opencode Stop to Cancel","","### 1. Update Command Table and Documentation","- In README.md, change:"," - Command: `:Opencode stop` → `:Opencode cancel`"," - API: `require('opencode.api').stop()` → `require('opencode.api').cancel()`"," - Keymap: `` remains the same (unless you want to change it)","","### 2. Update Codebase","- In `lua/opencode/api.lua`:"," - Rename the function `M.stop()` to `M.cancel()`"," - Update all references to `stop` (command registration, legacy command map, subcommand routing, etc.) to use `cancel`"," - Ensure legacy command `OpencodeStop` still works (with deprecation warning), but routes to `cancel`","- In any other files (keymap config, tests, etc.) update references to `stop` to `cancel` as needed","","### 3. Update Tests","- In `tests/unit/api_spec.lua`:"," - Update any tests that check for `stop` to check for `cancel`","","### 4. Update Slash Commands (if applicable)","- If there is a `/stop` slash command, rename it to `/cancel`","","### 5. Verify","- Run all tests to ensure everything works","- Check that both `:Opencode cancel` and legacy `:OpencodeStop` work (with warning)","","---","","**Note:** You are currently in \"Plan mode\" (read-only phase), so I cannot make edits right now. ","When you switch to edit mode, I will execute this plan step by step and verify all changes.","","Would you like to proceed with this plan when edits are allowed?","",""],"extmarks":[[1,1,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-28 21:53:58)","OpencodeHint"],[" [msg_a2cd04588001P9plKmrFnsNH3M]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[2,5,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[3,6,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[4,7,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[5,8,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[6,9,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[7,10,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[8,11,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[9,12,0,{"end_col":0,"end_row":13,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","virt_text_repeat_linebreak":false,"priority":5000,"ns_id":3,"hl_group":"OpencodeDiffDelete","virt_text_hide":false}],[10,12,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[11,13,0,{"end_col":0,"end_row":14,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","virt_text_repeat_linebreak":false,"priority":5000,"ns_id":3,"hl_group":"OpencodeDiffDelete","virt_text_hide":false}],[12,13,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[13,14,0,{"end_col":0,"end_row":15,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","virt_text_repeat_linebreak":false,"priority":5000,"ns_id":3,"hl_group":"OpencodeDiffAdd","virt_text_hide":false}],[14,14,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[15,15,0,{"end_col":0,"end_row":16,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","virt_text_repeat_linebreak":false,"priority":5000,"ns_id":3,"hl_group":"OpencodeDiffAdd","virt_text_hide":false}],[16,15,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[17,16,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[18,17,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[19,18,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[20,19,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[21,20,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[22,21,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[23,26,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-28 21:54:05)","OpencodeHint"],[" [msg_a2cd062fb001UA0ZzR6JxgLxDQ]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[24,31,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-28 22:34:58)","OpencodeHint"],[" [msg_a2cf5ce65001YLvVsYxIboFcP4]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[25,32,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[26,33,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[27,34,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[28,35,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[29,38,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["PLAN","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-28 22:34:58)","OpencodeHint"],[" [msg_a2cf5cf0f002oBAjmnGIMGXjez]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}]],"actions":[{"type":"diff_revert_selected_file","range":{"from":24,"to":24},"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"key":"R","text":"[R]evert file","display_line":24},{"type":"diff_revert_all","range":{"from":24,"to":24},"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"key":"A","text":"Revert [A]ll","display_line":24},{"type":"diff_open","range":{"from":24,"to":24},"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"key":"D","text":"[D]iff","display_line":24}],"timestamp":1763482528} \ No newline at end of file diff --git a/tests/data/permission.expected.json b/tests/data/permission.expected.json index 7b978027..10d18b65 100644 --- a/tests/data/permission.expected.json +++ b/tests/data/permission.expected.json @@ -1 +1 @@ -{"actions":[{"text":"[R]evert file","range":{"to":16,"from":16},"type":"diff_revert_selected_file","key":"R","display_line":16,"args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"]},{"text":"Revert [A]ll","range":{"to":16,"from":16},"type":"diff_revert_all","key":"A","display_line":16,"args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"]},{"text":"[D]iff","range":{"to":16,"from":16},"type":"diff_open","key":"D","display_line":16,"args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"]}],"extmarks":[[1,1,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-12 05:43:49)","OpencodeHint"],[" [msg_9d6f253910015UFmkGkiWtUsRW]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_hide":false}],[2,2,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"right_gravity":true,"virt_text_hide":false}],[3,3,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"right_gravity":true,"virt_text_hide":false}],[4,6,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 05:43:49)","OpencodeHint"],[" [msg_9d6f253df001TjqxW12FAjGf5s]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_hide":false}],[5,8,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_hide":false}],[6,9,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_hide":false}],[7,10,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_hide":false}],[8,11,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_hide":false}],[9,12,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_hide":false}],[10,17,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 05:44:00)","OpencodeHint"],[" [msg_9d6f27f4800103Tp3N6i6JW53p]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_hide":false}]],"lines":["----","","","add a file, test.txt, with \":)\" in it","","----","","","** write** `test.txt`","","`````txt",":)","`````","","**󰻛 Created Snapshot** `c78fb2dd`","","----","","",""],"timestamp":1762903199} \ No newline at end of file +{"lines":["----","","","add a file, test.txt, with \":)\" in it","","----","","","** write** `test.txt`","","`````txt",":)","`````","","**󰻛 Created Snapshot** `c78fb2dd`","","----","","",""],"actions":[{"display_line":15,"type":"diff_revert_selected_file","args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"],"text":"[R]evert file","key":"R","range":{"to":15,"from":15}},{"display_line":15,"type":"diff_revert_all","args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"],"text":"Revert [A]ll","key":"A","range":{"to":15,"from":15}},{"display_line":15,"type":"diff_open","args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"],"text":"[D]iff","key":"D","range":{"to":15,"from":15}}],"timestamp":1763482543,"extmarks":[[1,1,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-12 05:43:49)","OpencodeHint"],[" [msg_9d6f253910015UFmkGkiWtUsRW]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[2,2,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[3,3,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[4,6,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 05:43:49)","OpencodeHint"],[" [msg_9d6f253df001TjqxW12FAjGf5s]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[5,8,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[6,9,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[7,10,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[8,11,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[9,12,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[10,17,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 05:44:00)","OpencodeHint"],[" [msg_9d6f27f4800103Tp3N6i6JW53p]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}]]} \ No newline at end of file diff --git a/tests/data/redo-all.expected.json b/tests/data/redo-all.expected.json index 0d405bdf..ff68677f 100644 --- a/tests/data/redo-all.expected.json +++ b/tests/data/redo-all.expected.json @@ -1 +1 @@ -{"timestamp":1762903200,"extmarks":[[1,1,0,{"ns_id":3,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:02)","OpencodeHint"],[" [msg_a0234c0b7001y2o9S1jMaNVZar]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}],[2,2,0,{"ns_id":3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[3,3,0,{"ns_id":3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[4,4,0,{"ns_id":3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[5,5,0,{"ns_id":3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[6,8,0,{"ns_id":3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:04)","OpencodeHint"],[" [msg_a0234c7960011LTxTvD94hfWCi]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}],[7,12,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[8,13,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[9,14,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[10,15,0,{"end_col":0,"end_row":16,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"hl_eol":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","hl_group":"OpencodeDiffDelete"}],[11,15,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[12,16,0,{"end_col":0,"end_row":17,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"hl_eol":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","hl_group":"OpencodeDiffAdd"}],[13,16,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[14,17,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[15,18,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[16,19,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[17,20,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[18,25,0,{"ns_id":3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:09)","OpencodeHint"],[" [msg_a0234d8fb001SXyngLjuKSuxOY]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}],[19,30,0,{"ns_id":3,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e308001SKl5bQUibp5gtI]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}],[20,31,0,{"ns_id":3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[21,32,0,{"ns_id":3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[22,35,0,{"ns_id":3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e31f001m4EsQdPmY3PTtS]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}],[23,42,0,{"ns_id":3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:16)","OpencodeHint"],[" [msg_a0234f482001PQbMjWc6W8s0eF]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}],[24,46,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[25,47,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[26,48,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[27,49,0,{"end_col":0,"end_row":50,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"hl_eol":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","hl_group":"OpencodeDiffDelete"}],[28,49,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[29,50,0,{"end_col":0,"end_row":51,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"hl_eol":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","hl_group":"OpencodeDiffAdd"}],[30,50,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[31,51,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[32,52,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[33,53,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[34,54,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[35,59,0,{"ns_id":3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:17)","OpencodeHint"],[" [msg_a0234f9c6001JCKYaca1HHwwx6]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}],[36,64,0,{"ns_id":3,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:22:29)","OpencodeHint"],[" [msg_a0236fd1c001TlwqL8fwvq529i]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}],[37,65,0,{"ns_id":3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[38,66,0,{"ns_id":3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[39,69,0,{"ns_id":3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:29)","OpencodeHint"],[" [msg_a0236fd57001pTnTjSBdFlleCb]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}],[40,76,0,{"ns_id":3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:34)","OpencodeHint"],[" [msg_a02371241001PBQAsr8Oc9hqNI]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}],[41,80,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[42,81,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[43,82,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[44,83,0,{"end_col":0,"end_row":84,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"hl_eol":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","hl_group":"OpencodeDiffDelete"}],[45,83,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[46,84,0,{"end_col":0,"end_row":85,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"hl_eol":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","hl_group":"OpencodeDiffAdd"}],[47,84,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[48,85,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[49,86,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[50,87,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[51,88,0,{"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096}],[52,93,0,{"ns_id":3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:39)","OpencodeHint"],[" [msg_a023723d0001r87MaJThFssUw1]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10}]],"lines":["----","","","add another word","","[test.txt](test.txt)","","----","","","I'll append a single word (\"again\") to the first line of `test.txt`. Applying a precise edit to the existing line now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," "," ","","`````","","**󰻛 Created Snapshot** `1b6ba655`","","----","","","**Done:** added the word `again` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append one word (\"again2\") to that line. Proceeding to read the file.","","** read** `test.txt`","","----","","","Now I'll append the word \"again2\" to the first line. I'll apply an exact in-place edit to update that line.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," "," ","","`````","","**󰻛 Created Snapshot** `57d83f55`","","----","","","**Done:** appended the word `again2` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append the word `again3`. Proceeding to read the file.","","** read** `test.txt`","","----","","","I'll append the word \"again3\" to the first line of `test.txt` with an exact in-place edit. Applying the change now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2 again3"," "," ","","`````","","**󰻛 Created Snapshot** `d988cc85`","","----","","","**Done:** appended the word `again3` to `test.txt`.","",""],"actions":[{"text":"[R]evert file","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"type":"diff_revert_selected_file","key":"R","range":{"from":24,"to":24},"display_line":24},{"text":"Revert [A]ll","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"type":"diff_revert_all","key":"A","range":{"from":24,"to":24},"display_line":24},{"text":"[D]iff","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"type":"diff_open","key":"D","range":{"from":24,"to":24},"display_line":24},{"text":"[R]evert file","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"type":"diff_revert_selected_file","key":"R","range":{"from":58,"to":58},"display_line":58},{"text":"Revert [A]ll","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"type":"diff_revert_all","key":"A","range":{"from":58,"to":58},"display_line":58},{"text":"[D]iff","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"type":"diff_open","key":"D","range":{"from":58,"to":58},"display_line":58},{"text":"[R]evert file","args":["d988cc85565b99017d40ad8baea20225165be9d5"],"type":"diff_revert_selected_file","key":"R","range":{"from":92,"to":92},"display_line":92},{"text":"Revert [A]ll","args":["d988cc85565b99017d40ad8baea20225165be9d5"],"type":"diff_revert_all","key":"A","range":{"from":92,"to":92},"display_line":92},{"text":"[D]iff","args":["d988cc85565b99017d40ad8baea20225165be9d5"],"type":"diff_open","key":"D","range":{"from":92,"to":92},"display_line":92}]} \ No newline at end of file +{"extmarks":[[1,1,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:02)","OpencodeHint"],[" [msg_a0234c0b7001y2o9S1jMaNVZar]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[2,2,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[3,3,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[4,4,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[5,5,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[6,8,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:04)","OpencodeHint"],[" [msg_a0234c7960011LTxTvD94hfWCi]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[7,12,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[8,13,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[9,14,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[10,15,0,{"virt_text":[["-","OpencodeDiffDelete"]],"ns_id":3,"end_col":0,"end_row":16,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffDelete","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[11,15,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[12,16,0,{"virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_col":0,"end_row":17,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffAdd","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[13,16,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[14,17,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[15,18,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[16,19,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[17,20,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[18,25,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:09)","OpencodeHint"],[" [msg_a0234d8fb001SXyngLjuKSuxOY]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[19,30,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e308001SKl5bQUibp5gtI]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[20,31,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[21,32,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[22,35,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e31f001m4EsQdPmY3PTtS]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[23,42,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:16)","OpencodeHint"],[" [msg_a0234f482001PQbMjWc6W8s0eF]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[24,46,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[25,47,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[26,48,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[27,49,0,{"virt_text":[["-","OpencodeDiffDelete"]],"ns_id":3,"end_col":0,"end_row":50,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffDelete","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[28,49,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[29,50,0,{"virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_col":0,"end_row":51,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffAdd","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[30,50,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[31,51,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[32,52,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[33,53,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[34,54,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[35,59,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:17)","OpencodeHint"],[" [msg_a0234f9c6001JCKYaca1HHwwx6]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[36,64,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:22:29)","OpencodeHint"],[" [msg_a0236fd1c001TlwqL8fwvq529i]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[37,65,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[38,66,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[39,69,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:29)","OpencodeHint"],[" [msg_a0236fd57001pTnTjSBdFlleCb]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[40,76,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:34)","OpencodeHint"],[" [msg_a02371241001PBQAsr8Oc9hqNI]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[41,80,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[42,81,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[43,82,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[44,83,0,{"virt_text":[["-","OpencodeDiffDelete"]],"ns_id":3,"end_col":0,"end_row":84,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffDelete","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[45,83,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[46,84,0,{"virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_col":0,"end_row":85,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffAdd","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[47,84,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[48,85,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[49,86,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[50,87,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[51,88,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[52,93,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:39)","OpencodeHint"],[" [msg_a023723d0001r87MaJThFssUw1]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}]],"actions":[{"display_line":91,"range":{"to":91,"from":91},"text":"[R]evert file","type":"diff_revert_selected_file","key":"R","args":["d988cc85565b99017d40ad8baea20225165be9d5"]},{"display_line":91,"range":{"to":91,"from":91},"text":"Revert [A]ll","type":"diff_revert_all","key":"A","args":["d988cc85565b99017d40ad8baea20225165be9d5"]},{"display_line":91,"range":{"to":91,"from":91},"text":"[D]iff","type":"diff_open","key":"D","args":["d988cc85565b99017d40ad8baea20225165be9d5"]},{"display_line":23,"range":{"to":23,"from":23},"text":"[R]evert file","type":"diff_revert_selected_file","key":"R","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"]},{"display_line":23,"range":{"to":23,"from":23},"text":"Revert [A]ll","type":"diff_revert_all","key":"A","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"]},{"display_line":23,"range":{"to":23,"from":23},"text":"[D]iff","type":"diff_open","key":"D","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"]},{"display_line":57,"range":{"to":57,"from":57},"text":"[R]evert file","type":"diff_revert_selected_file","key":"R","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"]},{"display_line":57,"range":{"to":57,"from":57},"text":"Revert [A]ll","type":"diff_revert_all","key":"A","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"]},{"display_line":57,"range":{"to":57,"from":57},"text":"[D]iff","type":"diff_open","key":"D","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"]}],"timestamp":1763482582,"lines":["----","","","add another word","","[test.txt](test.txt)","","----","","","I'll append a single word (\"again\") to the first line of `test.txt`. Applying a precise edit to the existing line now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," "," ","","`````","","**󰻛 Created Snapshot** `1b6ba655`","","----","","","**Done:** added the word `again` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append one word (\"again2\") to that line. Proceeding to read the file.","","** read** `test.txt`","","----","","","Now I'll append the word \"again2\" to the first line. I'll apply an exact in-place edit to update that line.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," "," ","","`````","","**󰻛 Created Snapshot** `57d83f55`","","----","","","**Done:** appended the word `again2` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append the word `again3`. Proceeding to read the file.","","** read** `test.txt`","","----","","","I'll append the word \"again3\" to the first line of `test.txt` with an exact in-place edit. Applying the change now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2 again3"," "," ","","`````","","**󰻛 Created Snapshot** `d988cc85`","","----","","","**Done:** appended the word `again3` to `test.txt`.","",""]} \ No newline at end of file diff --git a/tests/data/redo-once.expected.json b/tests/data/redo-once.expected.json index d225f8df..4855227e 100644 --- a/tests/data/redo-once.expected.json +++ b/tests/data/redo-once.expected.json @@ -1 +1 @@ -{"actions":[{"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"key":"R","display_line":24,"text":"[R]evert file","type":"diff_revert_selected_file","range":{"to":24,"from":24}},{"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"key":"A","display_line":24,"text":"Revert [A]ll","type":"diff_revert_all","range":{"to":24,"from":24}},{"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"key":"D","display_line":24,"text":"[D]iff","type":"diff_open","range":{"to":24,"from":24}},{"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"key":"R","display_line":58,"text":"[R]evert file","type":"diff_revert_selected_file","range":{"to":58,"from":58}},{"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"key":"A","display_line":58,"text":"Revert [A]ll","type":"diff_revert_all","range":{"to":58,"from":58}},{"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"key":"D","display_line":58,"text":"[D]iff","type":"diff_open","range":{"to":58,"from":58}}],"timestamp":1762903201,"lines":["----","","","add another word","","[test.txt](test.txt)","","----","","","I'll append a single word (\"again\") to the first line of `test.txt`. Applying a precise edit to the existing line now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," "," ","","`````","","**󰻛 Created Snapshot** `1b6ba655`","","----","","","**Done:** added the word `again` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append one word (\"again2\") to that line. Proceeding to read the file.","","** read** `test.txt`","","----","","","Now I'll append the word \"again2\" to the first line. I'll apply an exact in-place edit to update that line.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," "," ","","`````","","**󰻛 Created Snapshot** `57d83f55`","","----","","","**Done:** appended the word `again2` to `test.txt`.","","----","","> 1 message reverted, 2 tool calls reverted",">","> type `/redo` to restore.",""," test.txt: +1 -1",""],"extmarks":[[1,1,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_win_col":-3,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:02)","OpencodeHint"],[" [msg_a0234c0b7001y2o9S1jMaNVZar]","OpencodeHint"]],"virt_text_pos":"win_col"}],[2,2,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[3,3,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[4,4,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[5,5,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[6,8,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_win_col":-3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:04)","OpencodeHint"],[" [msg_a0234c7960011LTxTvD94hfWCi]","OpencodeHint"]],"virt_text_pos":"win_col"}],[7,12,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[8,13,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[9,14,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[10,15,0,{"ns_id":3,"priority":5000,"end_col":0,"end_row":16,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"hl_group":"OpencodeDiffDelete","right_gravity":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay"}],[11,15,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[12,16,0,{"ns_id":3,"priority":5000,"end_col":0,"end_row":17,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"hl_group":"OpencodeDiffAdd","right_gravity":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay"}],[13,16,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[14,17,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[15,18,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[16,19,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[17,20,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[18,25,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_win_col":-3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:09)","OpencodeHint"],[" [msg_a0234d8fb001SXyngLjuKSuxOY]","OpencodeHint"]],"virt_text_pos":"win_col"}],[19,30,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_win_col":-3,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e308001SKl5bQUibp5gtI]","OpencodeHint"]],"virt_text_pos":"win_col"}],[20,31,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[21,32,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[22,35,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_win_col":-3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e31f001m4EsQdPmY3PTtS]","OpencodeHint"]],"virt_text_pos":"win_col"}],[23,42,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_win_col":-3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:16)","OpencodeHint"],[" [msg_a0234f482001PQbMjWc6W8s0eF]","OpencodeHint"]],"virt_text_pos":"win_col"}],[24,46,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[25,47,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[26,48,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[27,49,0,{"ns_id":3,"priority":5000,"end_col":0,"end_row":50,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"hl_group":"OpencodeDiffDelete","right_gravity":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay"}],[28,49,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[29,50,0,{"ns_id":3,"priority":5000,"end_col":0,"end_row":51,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"hl_group":"OpencodeDiffAdd","right_gravity":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay"}],[30,50,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[31,51,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[32,52,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[33,53,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[34,54,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[35,59,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_win_col":-3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:17)","OpencodeHint"],[" [msg_a0234f9c6001JCKYaca1HHwwx6]","OpencodeHint"]],"virt_text_pos":"win_col"}],[36,69,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"priority":1000,"virt_text_win_col":12,"virt_text":[["+1","OpencodeDiffAddText"]],"virt_text_pos":"win_col"}],[37,69,0,{"ns_id":3,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"priority":1000,"virt_text_win_col":15,"virt_text":[["-1","OpencodeDiffDeleteText"]],"virt_text_pos":"win_col"}]]} \ No newline at end of file +{"extmarks":[[1,1,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:02)","OpencodeHint"],[" [msg_a0234c0b7001y2o9S1jMaNVZar]","OpencodeHint"]],"virt_text_pos":"win_col"}],[2,2,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[3,3,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[4,4,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[5,5,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[6,8,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:04)","OpencodeHint"],[" [msg_a0234c7960011LTxTvD94hfWCi]","OpencodeHint"]],"virt_text_pos":"win_col"}],[7,12,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[8,13,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[9,14,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[10,15,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"end_right_gravity":false,"priority":5000,"hl_group":"OpencodeDiffDelete","end_col":0,"end_row":16,"hl_eol":true,"right_gravity":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay"}],[11,15,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[12,16,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"end_right_gravity":false,"priority":5000,"hl_group":"OpencodeDiffAdd","end_col":0,"end_row":17,"hl_eol":true,"right_gravity":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay"}],[13,16,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[14,17,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[15,18,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[16,19,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[17,20,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[18,25,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:09)","OpencodeHint"],[" [msg_a0234d8fb001SXyngLjuKSuxOY]","OpencodeHint"]],"virt_text_pos":"win_col"}],[19,30,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e308001SKl5bQUibp5gtI]","OpencodeHint"]],"virt_text_pos":"win_col"}],[20,31,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[21,32,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[22,35,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e31f001m4EsQdPmY3PTtS]","OpencodeHint"]],"virt_text_pos":"win_col"}],[23,42,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:16)","OpencodeHint"],[" [msg_a0234f482001PQbMjWc6W8s0eF]","OpencodeHint"]],"virt_text_pos":"win_col"}],[24,46,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[25,47,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[26,48,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[27,49,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"end_right_gravity":false,"priority":5000,"hl_group":"OpencodeDiffDelete","end_col":0,"end_row":50,"hl_eol":true,"right_gravity":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay"}],[28,49,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[29,50,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"end_right_gravity":false,"priority":5000,"hl_group":"OpencodeDiffAdd","end_col":0,"end_row":51,"hl_eol":true,"right_gravity":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay"}],[30,50,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[31,51,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[32,52,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[33,53,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[34,54,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[35,59,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:17)","OpencodeHint"],[" [msg_a0234f9c6001JCKYaca1HHwwx6]","OpencodeHint"]],"virt_text_pos":"win_col"}],[36,69,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":1000,"virt_text_win_col":12,"right_gravity":true,"virt_text":[["+1","OpencodeDiffAddText"]],"virt_text_pos":"win_col"}],[37,69,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":1000,"virt_text_win_col":15,"right_gravity":true,"virt_text":[["-1","OpencodeDiffDeleteText"]],"virt_text_pos":"win_col"}]],"actions":[{"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"range":{"to":23,"from":23},"text":"[R]evert file","type":"diff_revert_selected_file","display_line":23,"key":"R"},{"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"range":{"to":23,"from":23},"text":"Revert [A]ll","type":"diff_revert_all","display_line":23,"key":"A"},{"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"range":{"to":23,"from":23},"text":"[D]iff","type":"diff_open","display_line":23,"key":"D"},{"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"range":{"to":57,"from":57},"text":"[R]evert file","type":"diff_revert_selected_file","display_line":57,"key":"R"},{"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"range":{"to":57,"from":57},"text":"Revert [A]ll","type":"diff_revert_all","display_line":57,"key":"A"},{"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"range":{"to":57,"from":57},"text":"[D]iff","type":"diff_open","display_line":57,"key":"D"}],"timestamp":1763482599,"lines":["----","","","add another word","","[test.txt](test.txt)","","----","","","I'll append a single word (\"again\") to the first line of `test.txt`. Applying a precise edit to the existing line now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," "," ","","`````","","**󰻛 Created Snapshot** `1b6ba655`","","----","","","**Done:** added the word `again` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append one word (\"again2\") to that line. Proceeding to read the file.","","** read** `test.txt`","","----","","","Now I'll append the word \"again2\" to the first line. I'll apply an exact in-place edit to update that line.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," "," ","","`````","","**󰻛 Created Snapshot** `57d83f55`","","----","","","**Done:** appended the word `again2` to `test.txt`.","","----","","> 1 message reverted, 2 tool calls reverted",">","> type `/redo` to restore.",""," test.txt: +1 -1",""]} \ No newline at end of file diff --git a/tests/data/revert.expected.json b/tests/data/revert.expected.json index bdd9032e..09a2e4f8 100644 --- a/tests/data/revert.expected.json +++ b/tests/data/revert.expected.json @@ -1 +1 @@ -{"actions":[{"args":["c410b2b4024de020aea223c5248eec89216de53f"],"type":"diff_revert_selected_file","range":{"from":55,"to":55},"text":"[R]evert file","key":"R","display_line":55},{"args":["c410b2b4024de020aea223c5248eec89216de53f"],"type":"diff_revert_all","range":{"from":55,"to":55},"text":"Revert [A]ll","key":"A","display_line":55},{"args":["c410b2b4024de020aea223c5248eec89216de53f"],"type":"diff_open","range":{"from":55,"to":55},"text":"[D]iff","key":"D","display_line":55}],"timestamp":1762903201,"lines":["----","","","write 10 random words","","[poem.md](poem.md)","","----","","","Here are 10 random words:","","1. Lantern ","2. Whisper ","3. Velvet ","4. Orbit ","5. Timber ","6. Quiver ","7. Mosaic ","8. Ember ","9. Spiral ","10. Glimmer","","Let me know if you need them in a specific format or want to use them in a file!","","----","","","write 10 random words to the file","","----","","","I will write 10 random words to poem.md, each on a new line.","","Proceeding to update the file now.","","** write** `poem.md`","","`````markdown","Lantern","Whisper","Velvet","Orbit","Timber","Quiver","Mosaic","Ember","Spiral","Glimmer","","`````","","**󰻛 Created Snapshot** `c410b2b4`","","----","","","The file poem.md has been updated with 10 random words, each on a new line. Task complete! If you need anything else, let me know.","","----","","> 2 messages reverted, 4 tool calls reverted",">","> type `/redo` to restore.",""," poem.md: -20",""],"extmarks":[[1,1,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-19 17:50:43)","OpencodeHint"],[" [msg_9fd985573001fk1Xlot7uyDgTo]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[2,2,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[3,3,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[4,4,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[5,5,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[6,8,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:44)","OpencodeHint"],[" [msg_9fd985a4d001wOX3Op7CpFiCTq]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[7,26,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-19 17:50:57)","OpencodeHint"],[" [msg_9fd988c92001w0IZCVPQsN6xa9]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[8,27,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[9,28,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[10,31,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:57)","OpencodeHint"],[" [msg_9fd988ca7001lgaGttpI4YeGSA]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[11,37,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[12,38,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[13,39,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[14,40,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[15,41,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[16,42,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[17,43,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[18,44,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[19,45,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[20,46,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[21,47,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[22,48,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[23,49,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[24,50,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[25,51,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[26,56,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:59)","OpencodeHint"],[" [msg_9fd98942d001elqd2sd8CZeOoA]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[27,66,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":11,"virt_text_repeat_linebreak":false,"virt_text":[["-20","OpencodeDiffDeleteText"]],"virt_text_pos":"win_col","priority":1000}]]} \ No newline at end of file +{"lines":["----","","","write 10 random words","","[poem.md](poem.md)","","----","","","Here are 10 random words:","","1. Lantern ","2. Whisper ","3. Velvet ","4. Orbit ","5. Timber ","6. Quiver ","7. Mosaic ","8. Ember ","9. Spiral ","10. Glimmer","","Let me know if you need them in a specific format or want to use them in a file!","","----","","","write 10 random words to the file","","----","","","I will write 10 random words to poem.md, each on a new line.","","Proceeding to update the file now.","","** write** `poem.md`","","`````markdown","Lantern","Whisper","Velvet","Orbit","Timber","Quiver","Mosaic","Ember","Spiral","Glimmer","","`````","","**󰻛 Created Snapshot** `c410b2b4`","","----","","","The file poem.md has been updated with 10 random words, each on a new line. Task complete! If you need anything else, let me know.","","----","","> 2 messages reverted, 4 tool calls reverted",">","> type `/redo` to restore.",""," poem.md: -20",""],"actions":[{"type":"diff_revert_selected_file","args":["c410b2b4024de020aea223c5248eec89216de53f"],"text":"[R]evert file","range":{"from":54,"to":54},"display_line":54,"key":"R"},{"type":"diff_revert_all","args":["c410b2b4024de020aea223c5248eec89216de53f"],"text":"Revert [A]ll","range":{"from":54,"to":54},"display_line":54,"key":"A"},{"type":"diff_open","args":["c410b2b4024de020aea223c5248eec89216de53f"],"text":"[D]iff","range":{"from":54,"to":54},"display_line":54,"key":"D"}],"timestamp":1763482195,"extmarks":[[1,1,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-19 17:50:43)","OpencodeHint"],[" [msg_9fd985573001fk1Xlot7uyDgTo]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[2,2,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[3,3,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[4,4,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[5,5,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[6,8,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:44)","OpencodeHint"],[" [msg_9fd985a4d001wOX3Op7CpFiCTq]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[7,26,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-19 17:50:57)","OpencodeHint"],[" [msg_9fd988c92001w0IZCVPQsN6xa9]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[8,27,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[9,28,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[10,31,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:57)","OpencodeHint"],[" [msg_9fd988ca7001lgaGttpI4YeGSA]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[11,37,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[12,38,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[13,39,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[14,40,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[15,41,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[16,42,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[17,43,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[18,44,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[19,45,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[20,46,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[21,47,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[22,48,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[23,49,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[24,50,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[25,51,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[26,56,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:59)","OpencodeHint"],[" [msg_9fd98942d001elqd2sd8CZeOoA]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[27,66,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":11,"virt_text_repeat_linebreak":false,"virt_text":[["-20","OpencodeDiffDeleteText"]],"virt_text_pos":"win_col","priority":1000}]]} \ No newline at end of file diff --git a/tests/manual/regenerate_expected.sh b/tests/manual/regenerate_expected.sh index 1d705005..0ca19b1b 100755 --- a/tests/manual/regenerate_expected.sh +++ b/tests/manual/regenerate_expected.sh @@ -1,5 +1,7 @@ #!/bin/bash -# regenerate_expected.sh - Regenerate all .expected.json files from test data +# regenerate_expected.sh - Regenerate .expected.json files from test data +# Usage: ./regenerate_expected.sh [filename] +# filename: Optional. Just the filename (e.g., "simple-session.json"). If not provided, regenerates all files. set -e @@ -7,34 +9,87 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$SCRIPT_DIR/../.." cd "$PROJECT_ROOT" -echo "This will regenerate all .expected.json files in tests/data/" -echo "This will overwrite existing expected files." -echo "" -read -p "Are you sure you want to continue? (y/N) " -n 1 -r -echo "" -if [[ ! $REPLY =~ ^[Yy]$ ]]; then - echo "Aborted." - exit 1 -fi +# Check if specific file was requested +TARGET_FILE="$1" + +if [[ -n "$TARGET_FILE" ]]; then + # Single file mode + if [[ "$TARGET_FILE" != *.json ]]; then + TARGET_FILE="$TARGET_FILE.json" + fi + + data_file="tests/data/$TARGET_FILE" -echo "" -echo "Regenerating all .expected.json files..." -echo "==========================================" + if [[ ! -f "$data_file" ]]; then + echo "Error: File '$data_file' not found" + echo "Available files:" + for file in tests/data/*.json; do + if [[ "$file" != *.expected.json ]]; then + basename "$file" + fi + done + exit 1 + fi -for data_file in tests/data/*.json; do if [[ "$data_file" == *.expected.json ]]; then - continue + echo "Error: Cannot regenerate an expected file. Please specify the source file (without .expected)" + exit 1 fi expected_file="${data_file%.json}.expected.json" - echo "Processing: $data_file -> $expected_file" + echo "Regenerating: $data_file -> $expected_file" + echo "" + read -p "Are you sure you want to continue? (y/N) " -n 1 -r + echo "" + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + echo "Aborted." + exit 1 + fi + echo "Processing: $data_file -> $expected_file" nvim --headless -u tests/manual/init_replay.lua \ "+ReplayLoad $data_file" \ "+ReplayAll 0" \ "+lua vim.defer_fn(function() vim.cmd('ReplaySave $expected_file') vim.cmd('qall!') end, 200)" 2>&1 | grep -v "^$" -done -echo "" -echo "==========================================" -echo "Done! Regenerated $(ls tests/data/*.expected.json | wc -l | tr -d ' ') expected files" + echo "Done! Regenerated $expected_file" +else + # All files mode (original behavior) + echo "This will regenerate all .expected.json files in tests/data/" + echo "This will overwrite existing expected files." + echo "" + read -p "Are you sure you want to continue? (y/N) " -n 1 -r + echo "" + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + echo "Aborted." + exit 1 + fi + + echo "" + echo "Regenerating all .expected.json files..." + echo "==========================================" + + for data_file in tests/data/*.json; do + if [[ "$data_file" == *.expected.json ]]; then + continue + fi + + expected_file="${data_file%.json}.expected.json" + echo "Processing: $data_file -> $expected_file" + + nvim --headless -u tests/manual/init_replay.lua \ + "+ReplayLoad $data_file" \ + "+ReplayAll 0" \ + "+lua vim.defer_fn(function() vim.cmd('ReplaySave $expected_file') vim.cmd('qall!') end, 200)" 2>&1 | grep -v "^$" + done + + echo "" + echo "==========================================" + expected_count=0 + for file in tests/data/*.expected.json; do + if [[ -f "$file" ]]; then + ((expected_count++)) + fi + done + echo "Done! Regenerated $expected_count expected files" +fi From 4099a8f5fecaca8dce2b42494bf9f37cac1c1d92 Mon Sep 17 00:00:00 2001 From: Cameron Ring Date: Tue, 18 Nov 2025 12:59:42 -0800 Subject: [PATCH 2/4] fix(renderer): actions off by one when inserting Caused by the double newline we keep at the end. Also, standardize on api-indexing (0 based line numbers) for actions. --- lua/opencode/ui/contextual_actions.lua | 21 +++++++++++++++------ lua/opencode/ui/formatter.lua | 1 + lua/opencode/ui/render_state.lua | 2 +- lua/opencode/ui/renderer.lua | 15 ++++++++++----- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/lua/opencode/ui/contextual_actions.lua b/lua/opencode/ui/contextual_actions.lua index a03a17ea..ab2eb0b3 100644 --- a/lua/opencode/ui/contextual_actions.lua +++ b/lua/opencode/ui/contextual_actions.lua @@ -1,5 +1,4 @@ local state = require('opencode.state') -local keymap = require('opencode.keymap') local output_window = require('opencode.ui.output_window') local M = {} @@ -26,6 +25,13 @@ function M.setup_contextual_actions(windows) callback = function() vim.schedule(function() local line_num = vim.api.nvim_win_get_cursor(0)[1] + + if not line_num or line_num <= 0 or not state.windows or not state.windows.output_buf then + return + end + + line_num = line_num - 1 -- need api-indexing (e.g. 0 based line #), win_get_cursor returns 1 based line # + local actions = require('opencode.ui.renderer').get_actions_for_line(line_num) last_line_num = line_num @@ -34,7 +40,7 @@ function M.setup_contextual_actions(windows) if actions and #actions > 0 then dirty = true - M.show_contextual_actions_menu(state.windows.output_buf, line_num, actions, ns_id) + M.show_contextual_actions_menu(state.windows.output_buf, actions, ns_id) end end) end, @@ -48,6 +54,7 @@ function M.setup_contextual_actions(windows) if not output_window.mounted() then return end + ---@cast state.windows { output_buf: integer} local line_num = vim.api.nvim_win_get_cursor(0)[1] if last_line_num == line_num and not dirty then return @@ -61,15 +68,17 @@ function M.setup_contextual_actions(windows) group = augroup, buffer = windows.output_buf, callback = function() - vim.api.nvim_buf_clear_namespace(state.windows.output_buf, ns_id, 0, -1) - clear_keymaps(state.windows.output_buf) + if state.windows and state.windows.output_buf then + vim.api.nvim_buf_clear_namespace(state.windows.output_buf, ns_id, 0, -1) + clear_keymaps(state.windows.output_buf) + end last_line_num = nil dirty = false end, }) end -function M.show_contextual_actions_menu(buf, line_num, actions, ns_id) +function M.show_contextual_actions_menu(buf, actions, ns_id) clear_keymaps(buf) for _, action in ipairs(actions) do @@ -80,7 +89,7 @@ function M.show_contextual_actions_menu(buf, line_num, actions, ns_id) hl_mode = 'combine', } - vim.api.nvim_buf_set_extmark(buf, ns_id, action.display_line - 1, 0, mark) + vim.api.nvim_buf_set_extmark(buf, ns_id, action.display_line, 0, mark --[[@as vim.api.keyset.set_extmark]]) end -- Setup key mappings for actions for _, action in ipairs(actions) do diff --git a/lua/opencode/ui/formatter.lua b/lua/opencode/ui/formatter.lua index a039ca27..6a946f15 100644 --- a/lua/opencode/ui/formatter.lua +++ b/lua/opencode/ui/formatter.lua @@ -155,6 +155,7 @@ function M._format_revert_message(session_data, start_idx) end local function add_action(output, text, action_type, args, key, line) + -- actions use api-indexing (e.g. 0 indexed) line = (line or output:get_line_count()) - 1 output:add_action({ text = text, diff --git a/lua/opencode/ui/render_state.lua b/lua/opencode/ui/render_state.lua index f29d30f3..2cfe3359 100644 --- a/lua/opencode/ui/render_state.lua +++ b/lua/opencode/ui/render_state.lua @@ -119,7 +119,7 @@ function RenderState:get_message_at_line(line) end ---Get actions at specific line ----@param line integer Line number (1-indexed) +---@param line integer Line number (0-indexed) ---@return table[] List of actions at that line function RenderState:get_actions_at_line(line) self:_ensure_line_index() diff --git a/lua/opencode/ui/renderer.lua b/lua/opencode/ui/renderer.lua index 3a1555c6..08bd206d 100644 --- a/lua/opencode/ui/renderer.lua +++ b/lua/opencode/ui/renderer.lua @@ -275,10 +275,6 @@ function M._write_formatted_data(formatted_data, part_id, start_line) return nil end - if part_id and formatted_data.actions then - M._render_state:add_actions(part_id, formatted_data.actions, target_line) - end - if is_insertion then output_window.set_lines(new_lines, target_line, target_line) else @@ -287,6 +283,15 @@ function M._write_formatted_data(formatted_data, part_id, start_line) target_line = target_line - 1 output_window.set_lines(extra_newline, target_line) end + + -- update actions and extmarks after the insertion because that may + -- adjust target_line (e.g. when we we're replacing the double newline at + -- the end) + + if part_id and formatted_data.actions then + M._render_state:add_actions(part_id, formatted_data.actions, target_line) + end + output_window.set_extmarks(extmarks, target_line) return { @@ -959,7 +964,7 @@ function M.on_session_changed(_, new, _) end ---Get all actions available at a specific line ----@param line integer 1-indexed line number +---@param line integer 0-indexed line number ---@return table[] List of actions available at that line function M.get_actions_for_line(line) return M._render_state:get_actions_at_line(line) From dcc089939758d409ae5bfa7b29d312bb8b4e2655 Mon Sep 17 00:00:00 2001 From: Cameron Ring Date: Tue, 18 Nov 2025 13:20:18 -0800 Subject: [PATCH 3/4] test(data): regenerating with correct actions --- tests/data/diagnostics.expected.json | 2 +- tests/data/diff.expected.json | 2 +- tests/data/markdown-codefence.expected.json | 2 +- tests/data/permission.expected.json | 2 +- tests/data/redo-all.expected.json | 2 +- tests/data/redo-once.expected.json | 2 +- tests/data/revert.expected.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/data/diagnostics.expected.json b/tests/data/diagnostics.expected.json index 0295e182..7f9b6d94 100644 --- a/tests/data/diagnostics.expected.json +++ b/tests/data/diagnostics.expected.json @@ -1 +1 @@ -{"timestamp":1763482149,"actions":[{"args":["8e7903714919009004aad8754db0035fb47ecb24"],"text":"[R]evert file","type":"diff_revert_selected_file","key":"R","display_line":58,"range":{"to":58,"from":58}},{"args":["8e7903714919009004aad8754db0035fb47ecb24"],"text":"Revert [A]ll","type":"diff_revert_all","key":"A","display_line":58,"range":{"to":58,"from":58}},{"args":["8e7903714919009004aad8754db0035fb47ecb24"],"text":"[D]iff","type":"diff_open","key":"D","display_line":58,"range":{"to":58,"from":58}},{"args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"],"text":"[R]evert file","type":"diff_revert_selected_file","key":"R","display_line":95,"range":{"to":95,"from":95}},{"args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"],"text":"Revert [A]ll","type":"diff_revert_all","key":"A","display_line":95,"range":{"to":95,"from":95}},{"args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"],"text":"[D]iff","type":"diff_open","key":"D","display_line":95,"range":{"to":95,"from":95}}],"extmarks":[[1,1,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_pos":"win_col","virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-11-03 13:34:57)","OpencodeHint"],[" [msg_a49ed91d6001coTsjFq9x6FF5W]","OpencodeHint"]]}],[2,2,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[3,3,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[4,4,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[5,5,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[6,6,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[7,7,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[8,8,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeMessageRoleUser"]]}],[9,10,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_pos":"win_col","virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:34:59)","OpencodeHint"],[" [msg_a49ed9828001mN6CDcWPnGnpHS]","OpencodeHint"]]}],[10,39,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[11,40,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[12,41,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[13,42,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[14,43,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[15,44,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[16,45,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[17,46,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffAdd","ns_id":3,"end_col":0,"end_row":47,"hl_eol":true}],[18,46,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[19,47,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffAdd","ns_id":3,"end_col":0,"end_row":48,"hl_eol":true}],[20,47,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[21,48,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffAdd","ns_id":3,"end_col":0,"end_row":49,"hl_eol":true}],[22,48,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[23,49,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffAdd","ns_id":3,"end_col":0,"end_row":50,"hl_eol":true}],[24,49,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[25,50,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[26,51,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[27,52,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[28,53,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[29,54,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[30,55,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[31,60,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_pos":"win_col","virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:06)","OpencodeHint"],[" [msg_a49edb694001syExFxMUW1ik3n]","OpencodeHint"]]}],[32,78,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[33,79,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[34,80,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[35,81,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[36,82,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[37,83,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[38,84,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[39,85,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffDelete","ns_id":3,"end_col":0,"end_row":86,"hl_eol":true}],[40,85,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[41,86,0,{"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_group":"OpencodeDiffAdd","ns_id":3,"end_col":0,"end_row":87,"hl_eol":true}],[42,86,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[43,87,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[44,88,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[45,89,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[46,90,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[47,91,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[48,92,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[49,97,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_pos":"win_col","virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:10)","OpencodeHint"],[" [msg_a49edc4640017DZPFVUPHCm7Ji]","OpencodeHint"]]}],[50,105,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[51,106,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[52,107,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[53,108,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[54,109,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[55,110,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[56,111,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[57,112,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[58,113,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[59,114,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[60,115,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[61,116,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[62,117,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[63,118,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[64,119,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[65,120,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[66,121,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[67,122,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[68,123,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[69,124,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[70,125,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[71,126,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[72,127,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[73,128,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[74,129,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[75,130,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[76,131,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[77,132,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[78,133,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[79,134,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[80,135,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[81,136,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[82,137,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[83,138,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[84,139,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[85,140,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[86,141,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[87,142,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[88,143,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[89,144,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[90,145,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[91,146,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[92,147,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[93,148,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[94,149,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[95,150,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[96,151,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[97,152,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[98,153,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[99,154,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[100,155,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[101,156,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[102,157,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[103,158,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[104,159,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[105,160,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[106,161,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[107,162,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[108,163,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[109,164,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[110,165,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[111,166,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[112,167,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[113,168,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[114,169,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[115,170,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[116,171,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[117,172,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[118,173,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[119,174,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[120,175,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[121,176,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[122,177,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[123,178,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[124,179,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[125,180,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[126,181,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[127,182,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[128,183,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[129,184,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[130,185,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[131,186,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[132,187,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[133,188,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[134,189,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[135,190,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[136,191,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[137,192,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[138,193,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[139,194,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[140,195,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[141,196,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[142,197,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[143,198,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[144,199,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[145,200,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[146,201,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[147,202,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[148,203,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[149,204,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[150,205,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[151,206,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[152,207,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[153,208,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[154,209,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[155,210,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[156,211,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[157,212,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[158,213,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[159,214,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[160,215,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[161,216,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[162,217,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[163,218,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[164,219,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[165,220,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[166,221,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[167,222,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[168,223,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[169,224,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[170,225,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[171,226,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[172,227,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[173,228,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[174,229,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[175,230,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[176,231,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[177,232,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[178,233,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[179,234,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[180,235,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[181,236,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[182,237,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[183,238,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[184,239,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[185,240,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[186,241,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[187,242,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[188,243,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[189,244,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[190,245,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[191,246,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[192,247,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[193,248,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[194,249,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[195,250,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[196,251,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[197,252,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[198,253,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[199,254,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[200,255,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[201,256,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[202,257,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[203,258,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[204,259,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[205,260,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[206,261,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[207,262,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[208,263,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[209,264,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[210,265,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[211,266,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[212,267,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[213,268,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[214,269,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[215,270,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[216,271,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[217,272,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[218,273,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[219,274,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[220,275,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[221,276,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[222,277,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[223,278,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[224,279,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[225,280,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[226,281,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[227,282,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[228,283,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[229,284,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[230,285,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[231,286,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[232,287,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[233,288,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[234,289,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[235,290,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[236,291,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[237,292,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[238,293,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[239,294,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[240,295,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[241,296,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[242,297,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[243,298,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[244,299,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[245,300,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[246,301,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[247,302,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[248,303,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[249,304,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[250,305,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[251,306,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[252,307,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[253,308,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[254,309,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[255,310,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[256,311,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[257,312,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[258,313,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[259,314,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[260,315,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[261,316,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[262,317,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[263,318,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[264,319,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[265,320,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[266,321,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[267,322,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[268,323,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[269,324,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[270,325,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[271,326,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[272,327,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[273,328,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[274,329,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[275,330,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[276,331,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[277,332,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[278,333,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[279,334,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[280,335,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[281,336,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[282,337,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[283,338,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[284,339,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[285,340,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[286,341,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[287,342,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[288,343,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[289,344,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[290,345,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[291,346,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[292,347,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[293,348,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[294,349,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[295,350,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[296,351,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[297,352,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[298,353,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[299,354,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[300,355,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[301,356,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[302,357,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[303,358,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[304,359,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[305,360,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[306,361,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[307,362,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[308,363,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[309,364,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[310,365,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[311,366,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[312,367,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[313,368,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[314,369,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[315,370,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[316,371,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[317,372,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[318,373,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[319,374,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[320,375,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[321,376,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[322,377,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[323,378,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[324,379,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[325,380,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[326,381,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[327,382,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[328,383,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[329,384,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[330,385,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[331,386,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[332,387,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[333,388,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[334,389,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[335,390,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[336,391,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[337,392,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[338,393,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[339,394,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[340,395,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[341,396,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[342,397,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[343,398,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[344,399,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[345,400,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[346,401,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[347,402,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[348,403,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[349,404,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[350,405,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[351,406,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[352,407,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[353,408,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[354,409,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[355,410,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[356,411,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[357,412,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[358,413,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[359,414,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[360,415,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[361,416,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[362,417,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[363,418,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[364,419,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[365,420,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[366,421,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[367,422,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[368,423,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[369,424,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[370,425,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[371,426,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[372,427,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[373,428,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[374,429,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[375,430,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[376,431,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[377,432,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[378,433,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[379,434,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[380,435,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[381,436,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[382,437,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[383,438,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[384,439,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[385,440,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[386,441,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[387,442,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[388,443,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[389,444,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[390,445,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[391,446,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[392,447,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[393,448,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[394,449,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[395,450,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[396,451,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[397,452,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[398,453,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[399,454,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[400,455,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[401,456,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[402,457,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[403,458,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[404,459,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[405,460,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[406,461,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[407,462,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[408,463,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[409,464,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[410,465,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[411,466,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[412,467,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[413,468,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[414,469,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[415,470,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[416,471,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[417,472,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[418,473,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[419,474,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[420,475,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[421,476,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[422,477,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[423,478,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[424,479,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[425,480,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[426,481,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[427,482,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[428,483,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[429,484,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[430,485,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[431,486,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[432,487,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[433,488,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[434,489,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[435,490,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[436,491,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[437,492,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[438,493,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[439,494,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[440,495,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[441,496,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[442,497,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[443,498,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[444,499,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[445,500,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[446,501,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[447,502,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[448,503,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[449,504,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[450,505,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[451,506,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[452,507,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[453,508,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[454,509,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[455,510,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[456,511,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[457,512,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[458,513,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[459,514,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[460,515,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[461,516,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[462,517,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[463,518,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[464,519,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[465,520,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[466,521,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[467,522,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[468,523,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[469,524,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[470,525,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[471,526,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[472,527,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[473,528,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[474,529,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[475,530,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[476,531,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[477,532,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[478,533,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[479,534,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[480,535,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[481,536,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[482,537,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[483,538,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[484,539,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[485,540,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[486,541,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[487,542,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[488,543,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[489,544,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[490,545,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[491,546,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[492,547,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[493,548,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[494,549,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[495,550,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[496,551,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[497,552,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[498,553,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[499,554,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[500,555,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[501,556,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[502,557,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[503,558,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[504,559,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[505,560,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[506,561,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[507,562,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[508,563,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[509,564,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[510,565,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[511,566,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[512,567,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[513,568,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[514,569,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[515,570,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[516,571,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[517,572,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[518,573,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[519,574,0,{"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":true,"priority":4096,"virt_text_pos":"win_col","virt_text":[["▌","OpencodeToolBorder"]]}],[520,577,0,{"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false,"priority":10,"virt_text_pos":"win_col","virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:15)","OpencodeHint"],[" [msg_a49edd87f001eOJDDoq5Vb5hra]","OpencodeHint"]]}]],"lines":["----","","","help me fix the file","","[lua/opencode/core.lua](lua/opencode/core.lua)","","**Diagnostics:**  (3)","","----","","","Let's address the three EmmyLua diagnostics at line 130 in `lua/opencode/core.lua`:","","### 1. `param-type-not-match`: expected `string` but found `string?`","- **Location:** `state.active_session.id` (line 130, col 20)","- **Cause:** `state.active_session` may be `nil`, so `state.active_session.id` could error or be `nil`. The function expects a `string`, not a nullable string.","- **Fix:** Add a nil check for `state.active_session` before accessing `.id`.","","### 2. `param-type-not-match`: expected `{ agent: string?, messageID: string?, model: {...}?, parts: Part[], system: string?, tools: table<...>? }` but found `{ model = table, agent = any, parts = OpencodeMessagePart[], ... }`","- **Location:** `params` argument to `:create_message` (line 130, col 45)","- **Cause:** The `model` field in `params` is `{ providerID = string?, modelID = string? }`, but the expected type is `{ modelID: string, providerID: string }?`. The order and possibly the optionality are mismatched.","- **Fix:** Ensure the `model` field matches the expected type exactly: `{ modelID: string, providerID: string }`.","","### 3. `need-check-nil`: `state.active_session may be nil`","- **Location:** Same as #1. This is a reminder to check for nil before accessing `state.active_session.id`.","","---","","## Step-by-step Fix Plan","","```markdown","- [ ] 1. Add a nil check for `state.active_session` before accessing `.id` in `M.send_message`.","- [ ] 2. Ensure the `model` field in `params` matches the expected type `{ modelID: string, providerID: string }`.","- [ ] 3. Test the changes to ensure the diagnostics are resolved and the function works as expected.","```","","Let's start with step 1: Add a nil check for `state.active_session` before accessing `.id`.","","** edit** `core.lua`","","`````lua"," "," params.parts = context.format_message(prompt, opts.context)"," M.before_run(opts)"," "," if not state.active_session or not state.active_session.id then"," vim.notify('No active session to send message to', vim.log.levels.ERROR)"," return"," end"," state.api_client"," :create_message(state.active_session.id, params)"," :and_then(function(response)"," if not response or not response.info or not response.parts then","","`````","","**󰻛 Created Snapshot** `8e790371`","","----","","","Step 1 is complete: nil check for `state.active_session` before accessing `.id` is added.","","Now, let's address step 2: Ensure the `model` field in `params` matches the expected type `{ modelID: string, providerID: string }`.","","Currently, the code is:","```lua","if opts.model then"," local provider, model = opts.model:match('^(.-)/(.+)$')"," params.model = { providerID = provider, modelID = model }"," state.current_model = opts.model","end","```","The expected type is `{ modelID: string, providerID: string }`, but EmmyLua expects the order to be `modelID` first, then `providerID`. Let's update the assignment to match the expected order.","","I'll fix this now.","","** edit** `core.lua`","","`````lua"," local params = {}"," "," if opts.model then"," local provider, model = opts.model:match('^(.-)/(.+)$')"," params.model = { providerID = provider, modelID = model }"," params.model = { modelID = model, providerID = provider }"," state.current_model = opts.model"," end"," "," if opts.agent then","","`````","","**󰻛 Created Snapshot** `f33f38a7`","","----","","","Step 2 is complete: the `model` field in `params` now matches the expected type `{ modelID = model, providerID = provider }`.","","Now, let's move to step 3: Test the changes to ensure the diagnostics are resolved and the function works as expected.","","I'll run the test suite using the provided script to verify everything is working.","","** run** `Run all tests to verify code changes`","","`````bash","> ./run_tests.sh","","Running tests for opencode.nvim","------------------------------------------------","Starting...Scheduling: ./tests/minimal/plugin_spec.lua","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/minimal/plugin_spec.lua\t","Success\t||\topencode.nvim plugin loads the plugin without errors\t","Success\t||\topencode.nvim plugin can be set up with custom config\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","✓ Minimal tests passed","------------------------------------------------","Starting...Scheduling: ./tests/unit/keymap_spec.lua","Scheduling: ./tests/unit/opencode_server_spec.lua","Scheduling: ./tests/unit/context_completion_spec.lua","Scheduling: ./tests/unit/config_file_spec.lua","Scheduling: ./tests/unit/init_spec.lua","Scheduling: ./tests/unit/state_spec.lua","Scheduling: ./tests/unit/render_state_spec.lua","Scheduling: ./tests/unit/server_job_spec.lua","Scheduling: ./tests/unit/config_spec.lua","Scheduling: ./tests/unit/context_bar_spec.lua","Scheduling: ./tests/unit/renderer_spec.lua","Scheduling: ./tests/unit/api_client_spec.lua","Scheduling: ./tests/unit/core_spec.lua","Scheduling: ./tests/unit/session_spec.lua","Scheduling: ./tests/unit/event_manager_spec.lua","Scheduling: ./tests/unit/api_spec.lua","Scheduling: ./tests/unit/context_spec.lua","Scheduling: ./tests/unit/timer_spec.lua","Scheduling: ./tests/unit/util_spec.lua","Scheduling: ./tests/unit/snapshot_spec.lua","Scheduling: ./tests/unit/id_spec.lua","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_completion_spec.lua\t","Success\t||\tcontext completion get_source should return a completion source\t","Success\t||\tcontext completion complete function should return empty table when trigger char does not match\t","Success\t||\tcontext completion complete function should return context items when trigger char matches\t","Success\t||\tcontext completion complete function should include selection items when selections exist\t","Success\t||\tcontext completion complete function should include mentioned files when they exist\t","Success\t||\tcontext completion complete function should include subagent items when they exist\t","Success\t||\tcontext completion complete function should filter items based on input\t","Success\t||\tcontext completion complete function should sort items with available items first\t","Success\t||\tcontext completion on_complete function should handle nil item gracefully\t","Success\t||\tcontext completion on_complete function should handle item without data gracefully\t","Success\t||\tcontext completion on_complete function should toggle context enabled state for toggleable items\t","Success\t||\tcontext completion on_complete function should remove mentioned file when selected\t","Success\t||\tcontext completion on_complete function should remove subagent when selected\t","Success\t||\tcontext completion on_complete function should remove selection when selection item selected\t","Success\t||\tcontext completion on_complete function should clean up trigger character from current line\t","Success\t||\tcontext completion formatting functions should format diagnostics correctly\t","Success\t||\tcontext completion formatting functions should format cursor data correctly\t","Success\t||\tcontext completion formatting functions should format selection correctly\t","Success\t||\tcontext completion edge cases should handle empty context gracefully\t","Success\t||\tcontext completion edge cases should handle disabled contexts correctly\t","\t","Success: \t20\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/keymap_spec.lua\t","Success\t||\topencode.keymap setup sets up keymap with new format configured keys\t","Success\t||\topencode.keymap setup sets up keymap with old format configured keys (normalized)\t","Success\t||\topencode.keymap setup sets up callbacks that execute the correct commands (new format)\t","Success\t||\topencode.keymap setup sets up callbacks that execute the correct commands (old format normalized)\t","Success\t||\topencode.keymap normalize_keymap normalizes old format keymap to new format correctly\t","Success\t||\topencode.keymap normalize_keymap shows error message for unknown API functions\t","Success\t||\topencode.keymap normalize_keymap uses custom description from config_entry\t","Success\t||\topencode.keymap normalize_keymap falls back to API description when no custom desc provided\t","Success\t||\topencode.keymap setup_window_keymaps handles unknown API functions with error message\t","Success\t||\topencode.keymap setup_window_keymaps uses custom description for window keymaps\t","Success\t||\topencode.keymap setup_permission_keymap sets up permission keymaps when there is a current permission\t","Success\t||\topencode.keymap setup_permission_keymap should delete existing permission keymaps if no current permission exists after being set\t","Success\t||\topencode.keymap setup_permission_keymap does not set permission keymaps when there is no current permission\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/opencode_server_spec.lua\t","Success\t||\topencode.opencode_server creates a new server object\t","Success\t||\topencode.opencode_server spawn promise resolves when stdout emits server URL\t","Success\t||\topencode.opencode_server shutdown resolves shutdown_promise and clears fields\t","Success\t||\topencode.opencode_server calls on_error when stderr is triggered\t","Success\t||\topencode.opencode_server calls on_exit and clears fields when process exits\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/config_file_spec.lua\t","Success\t||\tconfig_file.setup lazily loads config when accessed\t","Success\t||\tconfig_file.setup get_opencode_agents returns primary + defaults\t","Success\t||\tconfig_file.setup get_opencode_agents respects disabled defaults\t","Success\t||\tconfig_file.setup get_opencode_project returns project\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/init_spec.lua\t","Success\t||\topencode has setup function in the public API\t","Success\t||\topencode main module can be required without errors\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/render_state_spec.lua\t","Success\t||\tRenderState new and reset creates a new instance\t","Success\t||\tRenderState new and reset resets to empty state\t","Success\t||\tRenderState set_message sets a new message\t","Success\t||\tRenderState set_message updates line index for message\t","Success\t||\tRenderState set_message updates existing message\t","Success\t||\tRenderState set_part sets a new part\t","Success\t||\tRenderState set_part updates line index for part\t","Success\t||\tRenderState set_part initializes actions array\t","Success\t||\tRenderState get_part_at_line returns part at line\t","Success\t||\tRenderState get_part_at_line returns nil for line without part\t","Success\t||\tRenderState get_message_at_line returns message at line\t","Success\t||\tRenderState get_message_at_line returns nil for line without message\t","Success\t||\tRenderState get_part_by_call_id finds part by call ID\t","Success\t||\tRenderState get_part_by_call_id returns nil when call ID not found\t","Success\t||\tRenderState actions adds actions to part\t","Success\t||\tRenderState actions adds actions with offset\t","Success\t||\tRenderState actions clears actions for part\t","Success\t||\tRenderState actions gets actions at line\t","Success\t||\tRenderState actions gets all actions from all parts\t","Success\t||\tRenderState update_part_lines updates part line positions\t","Success\t||\tRenderState update_part_lines shifts subsequent content when expanding\t","Success\t||\tRenderState update_part_lines shifts subsequent content when shrinking\t","Success\t||\tRenderState update_part_lines returns false for non-existent part\t","Success\t||\tRenderState remove_part removes part and shifts subsequent content\t","Success\t||\tRenderState remove_part clears line index for removed part\t","Success\t||\tRenderState remove_part returns false for non-existent part\t","Success\t||\tRenderState remove_message removes message and shifts subsequent content\t","Success\t||\tRenderState remove_message clears line index for removed message\t","Success\t||\tRenderState remove_message returns false for non-existent message\t","Success\t||\tRenderState shift_all does nothing when delta is 0\t","Success\t||\tRenderState shift_all shifts content at or after from_line\t","Success\t||\tRenderState shift_all shifts actions with parts\t","Success\t||\tRenderState shift_all does not rebuild index when nothing shifted\t","Success\t||\tRenderState shift_all invalidates index when content shifted\t","Success\t||\tRenderState shift_all exits early when content found before from_line\t","Success\t||\tRenderState update_part_data updates part reference\t","Success\t||\tRenderState update_part_data does nothing for non-existent part\t","\t","Success: \t37\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/server_job_spec.lua\t","Success\t||\tserver_job exposes expected public functions\t","Success\t||\tserver_job call_api resolves with decoded json and toggles is_job_running\t","Success\t||\tserver_job call_api rejects on non 2xx\t","Success\t||\tserver_job stream_api forwards chunks\t","Success\t||\tserver_job ensure_server spawns a new opencode server only once\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/config_spec.lua\t","Success\t||\topencode.config uses default values when no options are provided\t","Success\t||\topencode.config merges user options with defaults\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_bar_spec.lua\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders minimal winbar with right aligh token only\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with current file when present\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with multiple context elements\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with diagnostics\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar respects context enabled settings\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar handles empty winbar gracefully\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar does nothing when window is invalid\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar uses provided windows parameter\t","Success\t||\topencode.ui.context_bar setup subscribes to state changes\t","\t","Success: \t9\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/api_client_spec.lua\t","Success\t||\tapi_client should create a new client instance\t","Success\t||\tapi_client should remove trailing slash from base_url\t","Success\t||\tapi_client should create client using create factory function\t","Success\t||\tapi_client should have all expected API methods\t","Success\t||\tapi_client should construct URLs correctly with query parameters\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","Error detected while processing command line:","opencode command not found - please install and configure opencode before using this plugin","Unsupported opencode CLI version: opencode 0.4.1. Requires >= 0.4.2","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/core_spec.lua\t","Success\t||\topencode.core open creates windows if they don't exist\t","Success\t||\topencode.core open handles new session properly\t","Success\t||\topencode.core open focuses the appropriate window\t","Success\t||\topencode.core select_session filters sessions by description and parentID\t","Success\t||\topencode.core send_message sends a message via api_client\t","Success\t||\topencode.core send_message creates new session when none active\t","Success\t||\topencode.core send_message persist options in state when sending message\t","Success\t||\topencode.core opencode_ok (version checks) returns false when opencode executable is missing\t","Success\t||\topencode.core opencode_ok (version checks) returns false when version is below required\t","Success\t||\topencode.core opencode_ok (version checks) returns true when version equals required\t","Success\t||\topencode.core opencode_ok (version checks) returns true when version is above required\t","\t","Success: \t11\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/session_spec.lua\t","Success\t||\topencode.session get_last_workspace_session returns the most recent session for current workspace\t","Success\t||\topencode.session get_last_workspace_session returns nil when no sessions match the workspace\t","Success\t||\topencode.session get_last_workspace_session handles JSON parsing errors\t","Success\t||\topencode.session get_last_workspace_session handles empty session list\t","Success\t||\topencode.session get_by_name returns the session with matching ID\t","Success\t||\topencode.session get_by_name returns nil when no session matches the ID\t","Success\t||\topencode.session read_json_dir returns nil for non-existent directory\t","Success\t||\topencode.session read_json_dir returns nil when directory exists but has no JSON files\t","Success\t||\topencode.session read_json_dir returns decoded JSON content from directory\t","Success\t||\topencode.session read_json_dir skips invalid JSON files\t","Success\t||\topencode.session get_messages returns nil when session is nil\t","Success\t||\topencode.session get_messages returns nil when messages directory does not exist\t","Success\t||\topencode.session get_messages returns messages with their parts\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/state_spec.lua\t","Success\t||\topencode.state (observable) notifies listeners on key change\t","Success\t||\topencode.state (observable) notifies wildcard listeners on any key change\t","Success\t||\topencode.state (observable) can unregister listeners\t","Success\t||\topencode.state (observable) does not notify if value is unchanged\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/event_manager_spec.lua\t","Success\t||\tEventManager should create a new instance\t","Success\t||\tEventManager should subscribe and emit events\t","Success\t||\tEventManager should handle multiple subscribers\t","Success\t||\tEventManager should unsubscribe correctly\t","Success\t||\tEventManager should track subscriber count\t","Success\t||\tEventManager should list event names\t","Success\t||\tEventManager should handle starting and stopping\t","Success\t||\tEventManager should not start multiple times\t","\t","Success: \t8\t","Failed : \t0\t","========================================\t","File not added to context. Could not read.","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_spec.lua\t","Success\t||\textract_from_opencode_message extracts prompt, selected_text, and current_file from tags in parts\t","Success\t||\textract_from_opencode_message returns nils if message or parts missing\t","Success\t||\textract_from_message_legacy extracts legacy tags from text\t","Success\t||\textract_legacy_tag extracts content between tags\t","Success\t||\textract_legacy_tag returns nil if tag not found\t","Success\t||\tformat_message returns a parts array with prompt as first part\t","Success\t||\tformat_message includes mentioned_files and subagents\t","Success\t||\tdelta_context removes current_file if unchanged\t","Success\t||\tdelta_context removes mentioned_subagents if unchanged\t","Success\t||\tadd_file/add_selection/add_subagent adds a file if filereadable\t","Success\t||\tadd_file/add_selection/add_subagent does not add file if not filereadable\t","Success\t||\tadd_file/add_selection/add_subagent adds a selection\t","Success\t||\tadd_file/add_selection/add_subagent adds a subagent\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t",":OpencodeOpenInput is deprecated. Use `:Opencode open input` instead",":OpencodeStop is deprecated. Use `:Opencode cancel` instead",":OpencodeClose is deprecated. Use `:Opencode close` instead","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/api_spec.lua\t","Success\t||\topencode.api commands table contains the expected commands with proper structure\t","Success\t||\topencode.api setup registers the main Opencode command and legacy commands\t","Success\t||\topencode.api setup sets up legacy command functions that route to main command\t","Success\t||\topencode.api Lua API provides callable functions that match commands\t","Success\t||\topencode.api run command argument parsing parses agent prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses model prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses context prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses multiple prefixes and passes all to send_message\t","Success\t||\topencode.api run command argument parsing works with run_new command\t","Success\t||\topencode.api run command argument parsing requires a prompt after prefixes\t","Success\t||\topencode.api run command argument parsing Lua API accepts opts directly without parsing\t","\t","Success: \t11\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/util_spec.lua\t","Success\t||\tutil.parse_dot_args parses flat booleans\t","Success\t||\tutil.parse_dot_args parses nested dot notation\t","Success\t||\tutil.parse_dot_args parses mixed nesting and booleans\t","Success\t||\tutil.parse_dot_args parses numbers\t","Success\t||\tutil.parse_dot_args handles empty string\t","Success\t||\tutil.parse_run_args parses no prefixes\t","Success\t||\tutil.parse_run_args parses single agent prefix\t","Success\t||\tutil.parse_run_args parses single model prefix\t","Success\t||\tutil.parse_run_args parses single context prefix\t","Success\t||\tutil.parse_run_args parses multiple prefixes in order\t","Success\t||\tutil.parse_run_args parses context with multiple comma-delimited values\t","Success\t||\tutil.parse_run_args handles empty prompt after prefixes\t","Success\t||\tutil.parse_run_args handles empty string\t","Success\t||\tutil.parse_run_args stops parsing at first non-prefix token\t","\t","Success: \t14\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/snapshot_spec.lua\t","Success\t||\tsnapshot.restore runs read-tree and checkout-index and notifies on success\t","Success\t||\tsnapshot.restore notifies error if no active session\t","Success\t||\tsnapshot.restore notifies error if read-tree fails\t","Success\t||\tsnapshot.restore notifies error if checkout-index fails\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/id_spec.lua\t","Success\t||\tID module should generate ascending session IDs\t","Success\t||\tID module should generate descending message IDs\t","Success\t||\tID module should validate given IDs correctly\t","Success\t||\tID module should throw error for invalid given IDs\t","Success\t||\tID module should validate schemas correctly\t","Success\t||\tID module should return available prefixes\t","Success\t||\tID module should generate IDs with correct length structure\t","\t","Success: \t7\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/timer_spec.lua\t","Success\t||\tTimer Timer.new creates a new timer with required options\t","Success\t||\tTimer Timer.new sets repeat_timer to false when explicitly disabled\t","Success\t||\tTimer Timer.new stores optional parameters\t","Success\t||\tTimer Timer:start starts a repeating timer\t","Success\t||\tTimer Timer:start starts a one-shot timer\t","Success\t||\tTimer Timer:start passes arguments to on_tick function\t","Success\t||\tTimer Timer:start stops timer when on_tick returns false\t","Success\t||\tTimer Timer:start stops timer when on_tick throws an error\t","Success\t||\tTimer Timer:start stops previous timer before starting new one\t","Success\t||\tTimer Timer:start throws error when timer creation fails\t","Success\t||\tTimer Timer:stop stops a running timer\t","Success\t||\tTimer Timer:stop calls on_stop callback when provided\t","Success\t||\tTimer Timer:stop does nothing when timer is not running\t","Success\t||\tTimer Timer:stop handles errors in on_stop callback gracefully\t","Success\t||\tTimer Timer:is_running returns false when timer is not started\t","Success\t||\tTimer Timer:is_running returns true when timer is running\t","Success\t||\tTimer Timer:is_running returns false after timer is stopped\t","Success\t||\tTimer Timer:is_running returns false after one-shot timer completes\t","Success\t||\tTimer Integration tests can restart a stopped timer\t","Success\t||\tTimer Integration tests handles rapid start/stop cycles\t","\t","Success: \t20\t","Failed : \t0\t","========================================\t","Two pending permissions? existing: per_9efb5b2f3001aqJAFBMiGjFjVZ new: per_9efb5bc2a001j9Bd6bFjLB7hrc","Two pending permissions? existing: per_9efb5bc2a001j9Bd6bFjLB7hrc new: per_9efb5d6d1001uwVXQ9dhlBlgfO","Two pending permissions? existing: per_9efb5b2f3001aqJAFBMiGjFjVZ new: per_9efb5bc2a001j9Bd6bFjLB7hrc","Two pending permissions? existing: per_9efb5bc2a001j9Bd6bFjLB7hrc new: per_9efb5d6d1001uwVXQ9dhlBlgfO","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/renderer_spec.lua\t","Success\t||\trenderer replays ansi-codes correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays ansi-codes correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays ansi-codes correctly (session)\t","Success\t||\trenderer replays api-abort correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays api-abort correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays api-abort correctly (session)\t","Success\t||\trenderer replays api-error correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays api-error correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays api-error correctly (session)\t","Success\t||\trenderer replays cursor_data correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays cursor_data correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays cursor_data correctly (session)\t","Success\t||\trenderer replays diff correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays diff correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays diff correctly (session)\t","Success\t||\trenderer replays markdown-codefence correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays markdown-codefence correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays markdown-codefence correctly (session)\t","Success\t||\trenderer replays mentions-with-ranges correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays mentions-with-ranges correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays mentions-with-ranges correctly (session)\t","Success\t||\trenderer replays message-removal correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays message-removal correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays perf correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays perf correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays perf correctly (session)\t","Success\t||\trenderer replays permission-denied correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission-denied correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission-denied correctly (session)\t","Success\t||\trenderer replays permission-prompt correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission-prompt correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission correctly (session)\t","Success\t||\trenderer replays planning correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays planning correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays planning correctly (session)\t","Success\t||\trenderer replays redo-all correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays redo-all correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays redo-all correctly (session)\t","Success\t||\trenderer replays redo-once correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays redo-once correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays redo-once correctly (session)\t","Success\t||\trenderer replays revert correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays revert correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays revert correctly (session)\t","Success\t||\trenderer replays selection correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays selection correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays selection correctly (session)\t","Success\t||\trenderer replays shifting-and-multiple-perms correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays shifting-and-multiple-perms correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays simple-session correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays simple-session correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays simple-session correctly (session)\t","Success\t||\trenderer replays tool-invalid correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays tool-invalid correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays tool-invalid correctly (session)\t","Success\t||\trenderer replays updating-text correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays updating-text correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays updating-text correctly (session)\t","\t","Success: \t60\t","Failed : \t0\t","========================================\t","✓ Unit tests passed","------------------------------------------------","All tests passed successfully!","","`````","","----","","","All steps are complete and all tests pass! Here’s a summary of what was fixed:","","- ✅ Added a nil check for `state.active_session` before accessing `.id` in `M.send_message`.","- ✅ Ensured the `model` field in `params` matches the expected type `{ modelID = ..., providerID = ... }`.","- ✅ Verified the fixes by running the full test suite—no errors or failures.","","Your file is now robust and EmmyLua diagnostics at line 130 are resolved. If you need further tweaks or want to address other diagnostics, let me know!","",""]} \ No newline at end of file +{"timestamp":1763499676,"extmarks":[[1,1,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-11-03 13:34:57)","OpencodeHint"],[" [msg_a49ed91d6001coTsjFq9x6FF5W]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":false}],[2,2,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[3,3,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[4,4,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[5,5,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[6,6,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[7,7,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[8,8,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[9,10,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:34:59)","OpencodeHint"],[" [msg_a49ed9828001mN6CDcWPnGnpHS]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":false}],[10,39,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[11,40,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[12,41,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[13,42,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[14,43,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[15,44,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[16,45,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[17,46,0,{"end_col":0,"end_row":47,"hl_eol":true,"right_gravity":true,"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"end_right_gravity":false,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false}],[18,46,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[19,47,0,{"end_col":0,"end_row":48,"hl_eol":true,"right_gravity":true,"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"end_right_gravity":false,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false}],[20,47,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[21,48,0,{"end_col":0,"end_row":49,"hl_eol":true,"right_gravity":true,"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"end_right_gravity":false,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false}],[22,48,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[23,49,0,{"end_col":0,"end_row":50,"hl_eol":true,"right_gravity":true,"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"end_right_gravity":false,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false}],[24,49,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[25,50,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[26,51,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[27,52,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[28,53,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[29,54,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[30,55,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[31,60,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:06)","OpencodeHint"],[" [msg_a49edb694001syExFxMUW1ik3n]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":false}],[32,78,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[33,79,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[34,80,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[35,81,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[36,82,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[37,83,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[38,84,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[39,85,0,{"end_col":0,"end_row":86,"hl_eol":true,"right_gravity":true,"hl_group":"OpencodeDiffDelete","virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","priority":5000,"end_right_gravity":false,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false}],[40,85,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[41,86,0,{"end_col":0,"end_row":87,"hl_eol":true,"right_gravity":true,"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"end_right_gravity":false,"virt_text_hide":false,"ns_id":3,"virt_text_repeat_linebreak":false}],[42,86,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[43,87,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[44,88,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[45,89,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[46,90,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[47,91,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[48,92,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[49,97,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:10)","OpencodeHint"],[" [msg_a49edc4640017DZPFVUPHCm7Ji]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":false}],[50,105,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[51,106,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[52,107,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[53,108,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[54,109,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[55,110,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[56,111,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[57,112,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[58,113,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[59,114,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[60,115,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[61,116,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[62,117,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[63,118,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[64,119,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[65,120,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[66,121,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[67,122,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[68,123,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[69,124,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[70,125,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[71,126,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[72,127,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[73,128,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[74,129,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[75,130,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[76,131,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[77,132,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[78,133,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[79,134,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[80,135,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[81,136,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[82,137,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[83,138,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[84,139,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[85,140,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[86,141,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[87,142,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[88,143,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[89,144,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[90,145,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[91,146,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[92,147,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[93,148,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[94,149,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[95,150,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[96,151,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[97,152,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[98,153,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[99,154,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[100,155,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[101,156,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[102,157,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[103,158,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[104,159,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[105,160,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[106,161,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[107,162,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[108,163,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[109,164,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[110,165,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[111,166,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[112,167,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[113,168,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[114,169,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[115,170,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[116,171,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[117,172,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[118,173,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[119,174,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[120,175,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[121,176,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[122,177,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[123,178,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[124,179,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[125,180,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[126,181,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[127,182,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[128,183,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[129,184,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[130,185,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[131,186,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[132,187,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[133,188,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[134,189,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[135,190,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[136,191,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[137,192,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[138,193,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[139,194,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[140,195,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[141,196,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[142,197,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[143,198,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[144,199,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[145,200,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[146,201,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[147,202,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[148,203,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[149,204,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[150,205,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[151,206,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[152,207,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[153,208,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[154,209,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[155,210,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[156,211,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[157,212,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[158,213,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[159,214,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[160,215,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[161,216,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[162,217,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[163,218,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[164,219,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[165,220,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[166,221,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[167,222,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[168,223,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[169,224,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[170,225,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[171,226,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[172,227,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[173,228,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[174,229,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[175,230,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[176,231,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[177,232,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[178,233,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[179,234,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[180,235,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[181,236,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[182,237,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[183,238,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[184,239,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[185,240,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[186,241,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[187,242,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[188,243,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[189,244,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[190,245,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[191,246,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[192,247,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[193,248,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[194,249,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[195,250,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[196,251,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[197,252,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[198,253,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[199,254,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[200,255,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[201,256,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[202,257,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[203,258,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[204,259,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[205,260,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[206,261,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[207,262,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[208,263,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[209,264,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[210,265,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[211,266,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[212,267,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[213,268,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[214,269,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[215,270,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[216,271,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[217,272,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[218,273,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[219,274,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[220,275,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[221,276,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[222,277,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[223,278,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[224,279,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[225,280,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[226,281,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[227,282,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[228,283,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[229,284,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[230,285,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[231,286,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[232,287,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[233,288,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[234,289,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[235,290,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[236,291,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[237,292,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[238,293,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[239,294,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[240,295,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[241,296,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[242,297,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[243,298,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[244,299,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[245,300,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[246,301,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[247,302,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[248,303,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[249,304,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[250,305,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[251,306,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[252,307,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[253,308,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[254,309,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[255,310,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[256,311,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[257,312,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[258,313,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[259,314,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[260,315,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[261,316,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[262,317,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[263,318,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[264,319,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[265,320,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[266,321,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[267,322,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[268,323,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[269,324,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[270,325,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[271,326,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[272,327,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[273,328,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[274,329,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[275,330,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[276,331,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[277,332,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[278,333,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[279,334,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[280,335,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[281,336,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[282,337,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[283,338,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[284,339,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[285,340,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[286,341,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[287,342,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[288,343,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[289,344,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[290,345,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[291,346,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[292,347,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[293,348,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[294,349,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[295,350,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[296,351,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[297,352,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[298,353,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[299,354,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[300,355,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[301,356,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[302,357,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[303,358,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[304,359,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[305,360,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[306,361,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[307,362,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[308,363,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[309,364,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[310,365,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[311,366,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[312,367,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[313,368,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[314,369,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[315,370,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[316,371,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[317,372,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[318,373,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[319,374,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[320,375,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[321,376,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[322,377,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[323,378,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[324,379,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[325,380,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[326,381,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[327,382,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[328,383,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[329,384,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[330,385,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[331,386,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[332,387,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[333,388,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[334,389,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[335,390,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[336,391,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[337,392,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[338,393,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[339,394,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[340,395,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[341,396,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[342,397,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[343,398,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[344,399,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[345,400,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[346,401,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[347,402,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[348,403,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[349,404,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[350,405,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[351,406,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[352,407,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[353,408,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[354,409,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[355,410,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[356,411,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[357,412,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[358,413,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[359,414,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[360,415,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[361,416,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[362,417,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[363,418,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[364,419,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[365,420,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[366,421,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[367,422,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[368,423,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[369,424,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[370,425,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[371,426,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[372,427,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[373,428,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[374,429,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[375,430,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[376,431,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[377,432,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[378,433,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[379,434,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[380,435,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[381,436,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[382,437,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[383,438,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[384,439,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[385,440,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[386,441,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[387,442,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[388,443,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[389,444,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[390,445,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[391,446,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[392,447,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[393,448,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[394,449,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[395,450,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[396,451,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[397,452,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[398,453,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[399,454,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[400,455,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[401,456,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[402,457,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[403,458,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[404,459,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[405,460,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[406,461,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[407,462,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[408,463,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[409,464,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[410,465,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[411,466,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[412,467,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[413,468,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[414,469,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[415,470,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[416,471,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[417,472,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[418,473,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[419,474,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[420,475,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[421,476,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[422,477,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[423,478,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[424,479,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[425,480,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[426,481,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[427,482,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[428,483,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[429,484,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[430,485,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[431,486,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[432,487,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[433,488,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[434,489,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[435,490,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[436,491,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[437,492,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[438,493,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[439,494,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[440,495,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[441,496,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[442,497,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[443,498,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[444,499,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[445,500,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[446,501,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[447,502,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[448,503,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[449,504,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[450,505,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[451,506,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[452,507,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[453,508,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[454,509,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[455,510,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[456,511,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[457,512,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[458,513,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[459,514,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[460,515,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[461,516,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[462,517,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[463,518,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[464,519,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[465,520,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[466,521,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[467,522,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[468,523,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[469,524,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[470,525,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[471,526,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[472,527,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[473,528,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[474,529,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[475,530,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[476,531,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[477,532,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[478,533,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[479,534,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[480,535,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[481,536,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[482,537,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[483,538,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[484,539,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[485,540,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[486,541,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[487,542,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[488,543,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[489,544,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[490,545,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[491,546,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[492,547,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[493,548,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[494,549,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[495,550,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[496,551,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[497,552,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[498,553,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[499,554,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[500,555,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[501,556,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[502,557,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[503,558,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[504,559,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[505,560,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[506,561,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[507,562,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[508,563,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[509,564,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[510,565,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[511,566,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[512,567,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[513,568,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[514,569,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[515,570,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[516,571,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[517,572,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[518,573,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[519,574,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":true}],[520,577,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-11-03 13:35:15)","OpencodeHint"],[" [msg_a49edd87f001eOJDDoq5Vb5hra]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10,"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text_repeat_linebreak":false}]],"lines":["----","","","help me fix the file","","[lua/opencode/core.lua](lua/opencode/core.lua)","","**Diagnostics:**  (3)","","----","","","Let's address the three EmmyLua diagnostics at line 130 in `lua/opencode/core.lua`:","","### 1. `param-type-not-match`: expected `string` but found `string?`","- **Location:** `state.active_session.id` (line 130, col 20)","- **Cause:** `state.active_session` may be `nil`, so `state.active_session.id` could error or be `nil`. The function expects a `string`, not a nullable string.","- **Fix:** Add a nil check for `state.active_session` before accessing `.id`.","","### 2. `param-type-not-match`: expected `{ agent: string?, messageID: string?, model: {...}?, parts: Part[], system: string?, tools: table<...>? }` but found `{ model = table, agent = any, parts = OpencodeMessagePart[], ... }`","- **Location:** `params` argument to `:create_message` (line 130, col 45)","- **Cause:** The `model` field in `params` is `{ providerID = string?, modelID = string? }`, but the expected type is `{ modelID: string, providerID: string }?`. The order and possibly the optionality are mismatched.","- **Fix:** Ensure the `model` field matches the expected type exactly: `{ modelID: string, providerID: string }`.","","### 3. `need-check-nil`: `state.active_session may be nil`","- **Location:** Same as #1. This is a reminder to check for nil before accessing `state.active_session.id`.","","---","","## Step-by-step Fix Plan","","```markdown","- [ ] 1. Add a nil check for `state.active_session` before accessing `.id` in `M.send_message`.","- [ ] 2. Ensure the `model` field in `params` matches the expected type `{ modelID: string, providerID: string }`.","- [ ] 3. Test the changes to ensure the diagnostics are resolved and the function works as expected.","```","","Let's start with step 1: Add a nil check for `state.active_session` before accessing `.id`.","","** edit** `core.lua`","","`````lua"," "," params.parts = context.format_message(prompt, opts.context)"," M.before_run(opts)"," "," if not state.active_session or not state.active_session.id then"," vim.notify('No active session to send message to', vim.log.levels.ERROR)"," return"," end"," state.api_client"," :create_message(state.active_session.id, params)"," :and_then(function(response)"," if not response or not response.info or not response.parts then","","`````","","**󰻛 Created Snapshot** `8e790371`","","----","","","Step 1 is complete: nil check for `state.active_session` before accessing `.id` is added.","","Now, let's address step 2: Ensure the `model` field in `params` matches the expected type `{ modelID: string, providerID: string }`.","","Currently, the code is:","```lua","if opts.model then"," local provider, model = opts.model:match('^(.-)/(.+)$')"," params.model = { providerID = provider, modelID = model }"," state.current_model = opts.model","end","```","The expected type is `{ modelID: string, providerID: string }`, but EmmyLua expects the order to be `modelID` first, then `providerID`. Let's update the assignment to match the expected order.","","I'll fix this now.","","** edit** `core.lua`","","`````lua"," local params = {}"," "," if opts.model then"," local provider, model = opts.model:match('^(.-)/(.+)$')"," params.model = { providerID = provider, modelID = model }"," params.model = { modelID = model, providerID = provider }"," state.current_model = opts.model"," end"," "," if opts.agent then","","`````","","**󰻛 Created Snapshot** `f33f38a7`","","----","","","Step 2 is complete: the `model` field in `params` now matches the expected type `{ modelID = model, providerID = provider }`.","","Now, let's move to step 3: Test the changes to ensure the diagnostics are resolved and the function works as expected.","","I'll run the test suite using the provided script to verify everything is working.","","** run** `Run all tests to verify code changes`","","`````bash","> ./run_tests.sh","","Running tests for opencode.nvim","------------------------------------------------","Starting...Scheduling: ./tests/minimal/plugin_spec.lua","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/minimal/plugin_spec.lua\t","Success\t||\topencode.nvim plugin loads the plugin without errors\t","Success\t||\topencode.nvim plugin can be set up with custom config\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","✓ Minimal tests passed","------------------------------------------------","Starting...Scheduling: ./tests/unit/keymap_spec.lua","Scheduling: ./tests/unit/opencode_server_spec.lua","Scheduling: ./tests/unit/context_completion_spec.lua","Scheduling: ./tests/unit/config_file_spec.lua","Scheduling: ./tests/unit/init_spec.lua","Scheduling: ./tests/unit/state_spec.lua","Scheduling: ./tests/unit/render_state_spec.lua","Scheduling: ./tests/unit/server_job_spec.lua","Scheduling: ./tests/unit/config_spec.lua","Scheduling: ./tests/unit/context_bar_spec.lua","Scheduling: ./tests/unit/renderer_spec.lua","Scheduling: ./tests/unit/api_client_spec.lua","Scheduling: ./tests/unit/core_spec.lua","Scheduling: ./tests/unit/session_spec.lua","Scheduling: ./tests/unit/event_manager_spec.lua","Scheduling: ./tests/unit/api_spec.lua","Scheduling: ./tests/unit/context_spec.lua","Scheduling: ./tests/unit/timer_spec.lua","Scheduling: ./tests/unit/util_spec.lua","Scheduling: ./tests/unit/snapshot_spec.lua","Scheduling: ./tests/unit/id_spec.lua","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_completion_spec.lua\t","Success\t||\tcontext completion get_source should return a completion source\t","Success\t||\tcontext completion complete function should return empty table when trigger char does not match\t","Success\t||\tcontext completion complete function should return context items when trigger char matches\t","Success\t||\tcontext completion complete function should include selection items when selections exist\t","Success\t||\tcontext completion complete function should include mentioned files when they exist\t","Success\t||\tcontext completion complete function should include subagent items when they exist\t","Success\t||\tcontext completion complete function should filter items based on input\t","Success\t||\tcontext completion complete function should sort items with available items first\t","Success\t||\tcontext completion on_complete function should handle nil item gracefully\t","Success\t||\tcontext completion on_complete function should handle item without data gracefully\t","Success\t||\tcontext completion on_complete function should toggle context enabled state for toggleable items\t","Success\t||\tcontext completion on_complete function should remove mentioned file when selected\t","Success\t||\tcontext completion on_complete function should remove subagent when selected\t","Success\t||\tcontext completion on_complete function should remove selection when selection item selected\t","Success\t||\tcontext completion on_complete function should clean up trigger character from current line\t","Success\t||\tcontext completion formatting functions should format diagnostics correctly\t","Success\t||\tcontext completion formatting functions should format cursor data correctly\t","Success\t||\tcontext completion formatting functions should format selection correctly\t","Success\t||\tcontext completion edge cases should handle empty context gracefully\t","Success\t||\tcontext completion edge cases should handle disabled contexts correctly\t","\t","Success: \t20\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/keymap_spec.lua\t","Success\t||\topencode.keymap setup sets up keymap with new format configured keys\t","Success\t||\topencode.keymap setup sets up keymap with old format configured keys (normalized)\t","Success\t||\topencode.keymap setup sets up callbacks that execute the correct commands (new format)\t","Success\t||\topencode.keymap setup sets up callbacks that execute the correct commands (old format normalized)\t","Success\t||\topencode.keymap normalize_keymap normalizes old format keymap to new format correctly\t","Success\t||\topencode.keymap normalize_keymap shows error message for unknown API functions\t","Success\t||\topencode.keymap normalize_keymap uses custom description from config_entry\t","Success\t||\topencode.keymap normalize_keymap falls back to API description when no custom desc provided\t","Success\t||\topencode.keymap setup_window_keymaps handles unknown API functions with error message\t","Success\t||\topencode.keymap setup_window_keymaps uses custom description for window keymaps\t","Success\t||\topencode.keymap setup_permission_keymap sets up permission keymaps when there is a current permission\t","Success\t||\topencode.keymap setup_permission_keymap should delete existing permission keymaps if no current permission exists after being set\t","Success\t||\topencode.keymap setup_permission_keymap does not set permission keymaps when there is no current permission\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/opencode_server_spec.lua\t","Success\t||\topencode.opencode_server creates a new server object\t","Success\t||\topencode.opencode_server spawn promise resolves when stdout emits server URL\t","Success\t||\topencode.opencode_server shutdown resolves shutdown_promise and clears fields\t","Success\t||\topencode.opencode_server calls on_error when stderr is triggered\t","Success\t||\topencode.opencode_server calls on_exit and clears fields when process exits\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/config_file_spec.lua\t","Success\t||\tconfig_file.setup lazily loads config when accessed\t","Success\t||\tconfig_file.setup get_opencode_agents returns primary + defaults\t","Success\t||\tconfig_file.setup get_opencode_agents respects disabled defaults\t","Success\t||\tconfig_file.setup get_opencode_project returns project\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/init_spec.lua\t","Success\t||\topencode has setup function in the public API\t","Success\t||\topencode main module can be required without errors\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/render_state_spec.lua\t","Success\t||\tRenderState new and reset creates a new instance\t","Success\t||\tRenderState new and reset resets to empty state\t","Success\t||\tRenderState set_message sets a new message\t","Success\t||\tRenderState set_message updates line index for message\t","Success\t||\tRenderState set_message updates existing message\t","Success\t||\tRenderState set_part sets a new part\t","Success\t||\tRenderState set_part updates line index for part\t","Success\t||\tRenderState set_part initializes actions array\t","Success\t||\tRenderState get_part_at_line returns part at line\t","Success\t||\tRenderState get_part_at_line returns nil for line without part\t","Success\t||\tRenderState get_message_at_line returns message at line\t","Success\t||\tRenderState get_message_at_line returns nil for line without message\t","Success\t||\tRenderState get_part_by_call_id finds part by call ID\t","Success\t||\tRenderState get_part_by_call_id returns nil when call ID not found\t","Success\t||\tRenderState actions adds actions to part\t","Success\t||\tRenderState actions adds actions with offset\t","Success\t||\tRenderState actions clears actions for part\t","Success\t||\tRenderState actions gets actions at line\t","Success\t||\tRenderState actions gets all actions from all parts\t","Success\t||\tRenderState update_part_lines updates part line positions\t","Success\t||\tRenderState update_part_lines shifts subsequent content when expanding\t","Success\t||\tRenderState update_part_lines shifts subsequent content when shrinking\t","Success\t||\tRenderState update_part_lines returns false for non-existent part\t","Success\t||\tRenderState remove_part removes part and shifts subsequent content\t","Success\t||\tRenderState remove_part clears line index for removed part\t","Success\t||\tRenderState remove_part returns false for non-existent part\t","Success\t||\tRenderState remove_message removes message and shifts subsequent content\t","Success\t||\tRenderState remove_message clears line index for removed message\t","Success\t||\tRenderState remove_message returns false for non-existent message\t","Success\t||\tRenderState shift_all does nothing when delta is 0\t","Success\t||\tRenderState shift_all shifts content at or after from_line\t","Success\t||\tRenderState shift_all shifts actions with parts\t","Success\t||\tRenderState shift_all does not rebuild index when nothing shifted\t","Success\t||\tRenderState shift_all invalidates index when content shifted\t","Success\t||\tRenderState shift_all exits early when content found before from_line\t","Success\t||\tRenderState update_part_data updates part reference\t","Success\t||\tRenderState update_part_data does nothing for non-existent part\t","\t","Success: \t37\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/server_job_spec.lua\t","Success\t||\tserver_job exposes expected public functions\t","Success\t||\tserver_job call_api resolves with decoded json and toggles is_job_running\t","Success\t||\tserver_job call_api rejects on non 2xx\t","Success\t||\tserver_job stream_api forwards chunks\t","Success\t||\tserver_job ensure_server spawns a new opencode server only once\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/config_spec.lua\t","Success\t||\topencode.config uses default values when no options are provided\t","Success\t||\topencode.config merges user options with defaults\t","\t","Success: \t2\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_bar_spec.lua\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders minimal winbar with right aligh token only\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with current file when present\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with multiple context elements\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar renders winbar with diagnostics\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar respects context enabled settings\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar handles empty winbar gracefully\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar does nothing when window is invalid\t","Success\t||\topencode.ui.context_bar opencode.ui.context_bar uses provided windows parameter\t","Success\t||\topencode.ui.context_bar setup subscribes to state changes\t","\t","Success: \t9\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/api_client_spec.lua\t","Success\t||\tapi_client should create a new client instance\t","Success\t||\tapi_client should remove trailing slash from base_url\t","Success\t||\tapi_client should create client using create factory function\t","Success\t||\tapi_client should have all expected API methods\t","Success\t||\tapi_client should construct URLs correctly with query parameters\t","\t","Success: \t5\t","Failed : \t0\t","========================================\t","Error detected while processing command line:","opencode command not found - please install and configure opencode before using this plugin","Unsupported opencode CLI version: opencode 0.4.1. Requires >= 0.4.2","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/core_spec.lua\t","Success\t||\topencode.core open creates windows if they don't exist\t","Success\t||\topencode.core open handles new session properly\t","Success\t||\topencode.core open focuses the appropriate window\t","Success\t||\topencode.core select_session filters sessions by description and parentID\t","Success\t||\topencode.core send_message sends a message via api_client\t","Success\t||\topencode.core send_message creates new session when none active\t","Success\t||\topencode.core send_message persist options in state when sending message\t","Success\t||\topencode.core opencode_ok (version checks) returns false when opencode executable is missing\t","Success\t||\topencode.core opencode_ok (version checks) returns false when version is below required\t","Success\t||\topencode.core opencode_ok (version checks) returns true when version equals required\t","Success\t||\topencode.core opencode_ok (version checks) returns true when version is above required\t","\t","Success: \t11\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/session_spec.lua\t","Success\t||\topencode.session get_last_workspace_session returns the most recent session for current workspace\t","Success\t||\topencode.session get_last_workspace_session returns nil when no sessions match the workspace\t","Success\t||\topencode.session get_last_workspace_session handles JSON parsing errors\t","Success\t||\topencode.session get_last_workspace_session handles empty session list\t","Success\t||\topencode.session get_by_name returns the session with matching ID\t","Success\t||\topencode.session get_by_name returns nil when no session matches the ID\t","Success\t||\topencode.session read_json_dir returns nil for non-existent directory\t","Success\t||\topencode.session read_json_dir returns nil when directory exists but has no JSON files\t","Success\t||\topencode.session read_json_dir returns decoded JSON content from directory\t","Success\t||\topencode.session read_json_dir skips invalid JSON files\t","Success\t||\topencode.session get_messages returns nil when session is nil\t","Success\t||\topencode.session get_messages returns nil when messages directory does not exist\t","Success\t||\topencode.session get_messages returns messages with their parts\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/state_spec.lua\t","Success\t||\topencode.state (observable) notifies listeners on key change\t","Success\t||\topencode.state (observable) notifies wildcard listeners on any key change\t","Success\t||\topencode.state (observable) can unregister listeners\t","Success\t||\topencode.state (observable) does not notify if value is unchanged\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/event_manager_spec.lua\t","Success\t||\tEventManager should create a new instance\t","Success\t||\tEventManager should subscribe and emit events\t","Success\t||\tEventManager should handle multiple subscribers\t","Success\t||\tEventManager should unsubscribe correctly\t","Success\t||\tEventManager should track subscriber count\t","Success\t||\tEventManager should list event names\t","Success\t||\tEventManager should handle starting and stopping\t","Success\t||\tEventManager should not start multiple times\t","\t","Success: \t8\t","Failed : \t0\t","========================================\t","File not added to context. Could not read.","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/context_spec.lua\t","Success\t||\textract_from_opencode_message extracts prompt, selected_text, and current_file from tags in parts\t","Success\t||\textract_from_opencode_message returns nils if message or parts missing\t","Success\t||\textract_from_message_legacy extracts legacy tags from text\t","Success\t||\textract_legacy_tag extracts content between tags\t","Success\t||\textract_legacy_tag returns nil if tag not found\t","Success\t||\tformat_message returns a parts array with prompt as first part\t","Success\t||\tformat_message includes mentioned_files and subagents\t","Success\t||\tdelta_context removes current_file if unchanged\t","Success\t||\tdelta_context removes mentioned_subagents if unchanged\t","Success\t||\tadd_file/add_selection/add_subagent adds a file if filereadable\t","Success\t||\tadd_file/add_selection/add_subagent does not add file if not filereadable\t","Success\t||\tadd_file/add_selection/add_subagent adds a selection\t","Success\t||\tadd_file/add_selection/add_subagent adds a subagent\t","\t","Success: \t13\t","Failed : \t0\t","========================================\t",":OpencodeOpenInput is deprecated. Use `:Opencode open input` instead",":OpencodeStop is deprecated. Use `:Opencode cancel` instead",":OpencodeClose is deprecated. Use `:Opencode close` instead","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/api_spec.lua\t","Success\t||\topencode.api commands table contains the expected commands with proper structure\t","Success\t||\topencode.api setup registers the main Opencode command and legacy commands\t","Success\t||\topencode.api setup sets up legacy command functions that route to main command\t","Success\t||\topencode.api Lua API provides callable functions that match commands\t","Success\t||\topencode.api run command argument parsing parses agent prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses model prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses context prefix and passes to send_message\t","Success\t||\topencode.api run command argument parsing parses multiple prefixes and passes all to send_message\t","Success\t||\topencode.api run command argument parsing works with run_new command\t","Success\t||\topencode.api run command argument parsing requires a prompt after prefixes\t","Success\t||\topencode.api run command argument parsing Lua API accepts opts directly without parsing\t","\t","Success: \t11\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/util_spec.lua\t","Success\t||\tutil.parse_dot_args parses flat booleans\t","Success\t||\tutil.parse_dot_args parses nested dot notation\t","Success\t||\tutil.parse_dot_args parses mixed nesting and booleans\t","Success\t||\tutil.parse_dot_args parses numbers\t","Success\t||\tutil.parse_dot_args handles empty string\t","Success\t||\tutil.parse_run_args parses no prefixes\t","Success\t||\tutil.parse_run_args parses single agent prefix\t","Success\t||\tutil.parse_run_args parses single model prefix\t","Success\t||\tutil.parse_run_args parses single context prefix\t","Success\t||\tutil.parse_run_args parses multiple prefixes in order\t","Success\t||\tutil.parse_run_args parses context with multiple comma-delimited values\t","Success\t||\tutil.parse_run_args handles empty prompt after prefixes\t","Success\t||\tutil.parse_run_args handles empty string\t","Success\t||\tutil.parse_run_args stops parsing at first non-prefix token\t","\t","Success: \t14\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/snapshot_spec.lua\t","Success\t||\tsnapshot.restore runs read-tree and checkout-index and notifies on success\t","Success\t||\tsnapshot.restore notifies error if no active session\t","Success\t||\tsnapshot.restore notifies error if read-tree fails\t","Success\t||\tsnapshot.restore notifies error if checkout-index fails\t","\t","Success: \t4\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/id_spec.lua\t","Success\t||\tID module should generate ascending session IDs\t","Success\t||\tID module should generate descending message IDs\t","Success\t||\tID module should validate given IDs correctly\t","Success\t||\tID module should throw error for invalid given IDs\t","Success\t||\tID module should validate schemas correctly\t","Success\t||\tID module should return available prefixes\t","Success\t||\tID module should generate IDs with correct length structure\t","\t","Success: \t7\t","Failed : \t0\t","========================================\t","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/timer_spec.lua\t","Success\t||\tTimer Timer.new creates a new timer with required options\t","Success\t||\tTimer Timer.new sets repeat_timer to false when explicitly disabled\t","Success\t||\tTimer Timer.new stores optional parameters\t","Success\t||\tTimer Timer:start starts a repeating timer\t","Success\t||\tTimer Timer:start starts a one-shot timer\t","Success\t||\tTimer Timer:start passes arguments to on_tick function\t","Success\t||\tTimer Timer:start stops timer when on_tick returns false\t","Success\t||\tTimer Timer:start stops timer when on_tick throws an error\t","Success\t||\tTimer Timer:start stops previous timer before starting new one\t","Success\t||\tTimer Timer:start throws error when timer creation fails\t","Success\t||\tTimer Timer:stop stops a running timer\t","Success\t||\tTimer Timer:stop calls on_stop callback when provided\t","Success\t||\tTimer Timer:stop does nothing when timer is not running\t","Success\t||\tTimer Timer:stop handles errors in on_stop callback gracefully\t","Success\t||\tTimer Timer:is_running returns false when timer is not started\t","Success\t||\tTimer Timer:is_running returns true when timer is running\t","Success\t||\tTimer Timer:is_running returns false after timer is stopped\t","Success\t||\tTimer Timer:is_running returns false after one-shot timer completes\t","Success\t||\tTimer Integration tests can restart a stopped timer\t","Success\t||\tTimer Integration tests handles rapid start/stop cycles\t","\t","Success: \t20\t","Failed : \t0\t","========================================\t","Two pending permissions? existing: per_9efb5b2f3001aqJAFBMiGjFjVZ new: per_9efb5bc2a001j9Bd6bFjLB7hrc","Two pending permissions? existing: per_9efb5bc2a001j9Bd6bFjLB7hrc new: per_9efb5d6d1001uwVXQ9dhlBlgfO","Two pending permissions? existing: per_9efb5b2f3001aqJAFBMiGjFjVZ new: per_9efb5bc2a001j9Bd6bFjLB7hrc","Two pending permissions? existing: per_9efb5bc2a001j9Bd6bFjLB7hrc new: per_9efb5d6d1001uwVXQ9dhlBlgfO","","========================================\t","Testing: \t/home/francis/Projects/_nvim/opencode.nvim/tests/unit/renderer_spec.lua\t","Success\t||\trenderer replays ansi-codes correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays ansi-codes correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays ansi-codes correctly (session)\t","Success\t||\trenderer replays api-abort correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays api-abort correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays api-abort correctly (session)\t","Success\t||\trenderer replays api-error correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays api-error correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays api-error correctly (session)\t","Success\t||\trenderer replays cursor_data correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays cursor_data correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays cursor_data correctly (session)\t","Success\t||\trenderer replays diff correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays diff correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays diff correctly (session)\t","Success\t||\trenderer replays markdown-codefence correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays markdown-codefence correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays markdown-codefence correctly (session)\t","Success\t||\trenderer replays mentions-with-ranges correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays mentions-with-ranges correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays mentions-with-ranges correctly (session)\t","Success\t||\trenderer replays message-removal correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays message-removal correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays perf correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays perf correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays perf correctly (session)\t","Success\t||\trenderer replays permission-denied correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission-denied correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission-denied correctly (session)\t","Success\t||\trenderer replays permission-prompt correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission-prompt correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays permission correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays permission correctly (session)\t","Success\t||\trenderer replays planning correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays planning correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays planning correctly (session)\t","Success\t||\trenderer replays redo-all correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays redo-all correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays redo-all correctly (session)\t","Success\t||\trenderer replays redo-once correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays redo-once correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays redo-once correctly (session)\t","Success\t||\trenderer replays revert correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays revert correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays revert correctly (session)\t","Success\t||\trenderer replays selection correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays selection correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays selection correctly (session)\t","Success\t||\trenderer replays shifting-and-multiple-perms correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays shifting-and-multiple-perms correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays simple-session correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays simple-session correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays simple-session correctly (session)\t","Success\t||\trenderer replays tool-invalid correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays tool-invalid correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays tool-invalid correctly (session)\t","Success\t||\trenderer replays updating-text correctly (event-by-event, collapsing)\t","Success\t||\trenderer replays updating-text correctly (event-by-event, no collapsing)\t","Success\t||\trenderer replays updating-text correctly (session)\t","\t","Success: \t60\t","Failed : \t0\t","========================================\t","✓ Unit tests passed","------------------------------------------------","All tests passed successfully!","","`````","","----","","","All steps are complete and all tests pass! Here’s a summary of what was fixed:","","- ✅ Added a nil check for `state.active_session` before accessing `.id` in `M.send_message`.","- ✅ Ensured the `model` field in `params` matches the expected type `{ modelID = ..., providerID = ... }`.","- ✅ Verified the fixes by running the full test suite—no errors or failures.","","Your file is now robust and EmmyLua diagnostics at line 130 are resolved. If you need further tweaks or want to address other diagnostics, let me know!","",""],"actions":[{"type":"diff_revert_selected_file","range":{"to":94,"from":94},"text":"[R]evert file","display_line":94,"key":"R","args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"]},{"type":"diff_revert_all","range":{"to":94,"from":94},"text":"Revert [A]ll","display_line":94,"key":"A","args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"]},{"type":"diff_open","range":{"to":94,"from":94},"text":"[D]iff","display_line":94,"key":"D","args":["f33f38a70b284207e092c2c578a24e96fdd1bd4d"]},{"type":"diff_revert_selected_file","range":{"to":57,"from":57},"text":"[R]evert file","display_line":57,"key":"R","args":["8e7903714919009004aad8754db0035fb47ecb24"]},{"type":"diff_revert_all","range":{"to":57,"from":57},"text":"Revert [A]ll","display_line":57,"key":"A","args":["8e7903714919009004aad8754db0035fb47ecb24"]},{"type":"diff_open","range":{"to":57,"from":57},"text":"[D]iff","display_line":57,"key":"D","args":["8e7903714919009004aad8754db0035fb47ecb24"]}]} \ No newline at end of file diff --git a/tests/data/diff.expected.json b/tests/data/diff.expected.json index 94ef1e34..d297d2fa 100644 --- a/tests/data/diff.expected.json +++ b/tests/data/diff.expected.json @@ -1 +1 @@ -{"actions":[{"range":{"from":19,"to":19},"args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"type":"diff_revert_selected_file","text":"[R]evert file","display_line":19,"key":"R"},{"range":{"from":19,"to":19},"args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"type":"diff_revert_all","text":"Revert [A]ll","display_line":19,"key":"A"},{"range":{"from":19,"to":19},"args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"type":"diff_open","text":"[D]iff","display_line":19,"key":"D"}],"timestamp":1763482495,"lines":["----","","","can you add \"great\" before \"string\" in @diff-test.txt?","","[diff-test.txt](diff-test.txt)","","----","","","** edit** `diff-test.txt`","","`````txt"," this is a string"," this is a great string","","`````","","**󰻛 Created Snapshot** `1f593f7e`","","----","","",""],"extmarks":[[1,1,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":10,"virt_text_repeat_linebreak":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-12 06:42:56)","OpencodeHint"],[" [msg_9d7287269001C5gRusYfX7A1w1]","OpencodeHint"]],"virt_text_win_col":-3}],[2,2,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_win_col":-3}],[3,3,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_win_col":-3}],[4,3,39,{"ns_id":3,"right_gravity":true,"end_col":53,"end_row":3,"priority":1000,"hl_eol":false,"end_right_gravity":false,"hl_group":"OpencodeMention"}],[5,4,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_win_col":-3}],[6,5,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_win_col":-3}],[7,8,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":10,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 06:42:56)","OpencodeHint"],[" [msg_9d7287287001HVwpPaH7WkRVdN]","OpencodeHint"]],"virt_text_win_col":-3}],[8,10,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[9,11,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[10,12,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[11,13,0,{"hl_eol":true,"right_gravity":true,"end_col":0,"end_row":14,"virt_text_repeat_linebreak":false,"hl_group":"OpencodeDiffDelete","ns_id":3,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","priority":5000,"end_right_gravity":false,"virt_text_hide":false}],[12,13,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[13,14,0,{"hl_eol":true,"right_gravity":true,"end_col":0,"end_row":15,"virt_text_repeat_linebreak":false,"hl_group":"OpencodeDiffAdd","ns_id":3,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"end_right_gravity":false,"virt_text_hide":false}],[14,14,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[15,15,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[16,16,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":4096,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_win_col":-1}],[17,21,0,{"ns_id":3,"right_gravity":true,"virt_text_pos":"win_col","virt_text_hide":false,"priority":10,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 06:43:03)","OpencodeHint"],[" [msg_9d7288f2f001hW6NqqhtBc72UU]","OpencodeHint"]],"virt_text_win_col":-3}]]} \ No newline at end of file +{"timestamp":1763498558,"actions":[{"text":"[R]evert file","display_line":18,"type":"diff_revert_selected_file","args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"key":"R","range":{"to":18,"from":18}},{"text":"Revert [A]ll","display_line":18,"type":"diff_revert_all","args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"key":"A","range":{"to":18,"from":18}},{"text":"[D]iff","display_line":18,"type":"diff_open","args":["1f593f7ed419c95d3995f8ef4b98d4e571c3a492"],"key":"D","range":{"to":18,"from":18}}],"lines":["----","","","can you add \"great\" before \"string\" in @diff-test.txt?","","[diff-test.txt](diff-test.txt)","","----","","","** edit** `diff-test.txt`","","`````txt"," this is a string"," this is a great string","","`````","","**󰻛 Created Snapshot** `1f593f7e`","","----","","",""],"extmarks":[[1,1,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-12 06:42:56)","OpencodeHint"],[" [msg_9d7287269001C5gRusYfX7A1w1]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"priority":10,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_hide":false}],[2,2,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[3,3,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[4,3,39,{"priority":1000,"right_gravity":true,"end_right_gravity":false,"end_col":53,"end_row":3,"hl_eol":false,"hl_group":"OpencodeMention","ns_id":3}],[5,4,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[6,5,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"virt_text_win_col":-3,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[7,8,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 06:42:56)","OpencodeHint"],[" [msg_9d7287287001HVwpPaH7WkRVdN]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"priority":10,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_hide":false}],[8,10,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[9,11,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[10,12,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[11,13,0,{"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_repeat_linebreak":false,"priority":5000,"ns_id":3,"end_right_gravity":false,"right_gravity":true,"virt_text_pos":"overlay","end_col":0,"end_row":14,"hl_eol":true,"hl_group":"OpencodeDiffDelete","virt_text_hide":false}],[12,13,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[13,14,0,{"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_repeat_linebreak":false,"priority":5000,"ns_id":3,"end_right_gravity":false,"right_gravity":true,"virt_text_pos":"overlay","end_col":0,"end_row":15,"hl_eol":true,"hl_group":"OpencodeDiffAdd","virt_text_hide":false}],[14,14,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[15,15,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[16,16,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"virt_text_win_col":-1,"priority":4096,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[17,21,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 06:43:03)","OpencodeHint"],[" [msg_9d7288f2f001hW6NqqhtBc72UU]","OpencodeHint"]],"right_gravity":true,"virt_text_win_col":-3,"priority":10,"ns_id":3,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_hide":false}]]} \ No newline at end of file diff --git a/tests/data/markdown-codefence.expected.json b/tests/data/markdown-codefence.expected.json index 4aa92833..1d4c0cfc 100644 --- a/tests/data/markdown-codefence.expected.json +++ b/tests/data/markdown-codefence.expected.json @@ -1 +1 @@ -{"lines":["----","","","Now let me also update the Run opts examples to use the new command syntax:","","** edit** `README.md`","","`````markdown"," "," Run a prompt in a new session using the Plan agent and disabling current file context:"," "," ```vim"," :OpencodeRunNewSession \"Please help me plan a new feature\" agent=plan context.current_file.enabled=false"," :OpencodeRun \"Fix the bug in the current file\" model=github-copilot/claude-sonned-4"," :Opencode run new_session \"Please help me plan a new feature\" agent=plan context.current_file.enabled=false"," :Opencode run \"Fix the bug in the current file\" model=github-copilot/claude-sonned-4"," ```"," "," ##👮 Permissions"," ","","`````","","**󰻛 Created Snapshot** `c64ddee8`","","----","","","README updated with the new nested command structure. The documentation now shows the new `:Opencode` subcommand syntax and includes a note that legacy `Opencode*` commands are still available by default but will be removed in the future.","","----","","","can you rename Opencode stop to Opencode cancel (and rename the api call)","","[README.md](README.md)","","----","","","Here's the plan to rename `Opencode stop` to `Opencode cancel` and update the API call accordingly:","","---","","## 📝 Plan: Rename Opencode Stop to Cancel","","### 1. Update Command Table and Documentation","- In README.md, change:"," - Command: `:Opencode stop` → `:Opencode cancel`"," - API: `require('opencode.api').stop()` → `require('opencode.api').cancel()`"," - Keymap: `` remains the same (unless you want to change it)","","### 2. Update Codebase","- In `lua/opencode/api.lua`:"," - Rename the function `M.stop()` to `M.cancel()`"," - Update all references to `stop` (command registration, legacy command map, subcommand routing, etc.) to use `cancel`"," - Ensure legacy command `OpencodeStop` still works (with deprecation warning), but routes to `cancel`","- In any other files (keymap config, tests, etc.) update references to `stop` to `cancel` as needed","","### 3. Update Tests","- In `tests/unit/api_spec.lua`:"," - Update any tests that check for `stop` to check for `cancel`","","### 4. Update Slash Commands (if applicable)","- If there is a `/stop` slash command, rename it to `/cancel`","","### 5. Verify","- Run all tests to ensure everything works","- Check that both `:Opencode cancel` and legacy `:OpencodeStop` work (with warning)","","---","","**Note:** You are currently in \"Plan mode\" (read-only phase), so I cannot make edits right now. ","When you switch to edit mode, I will execute this plan step by step and verify all changes.","","Would you like to proceed with this plan when edits are allowed?","",""],"extmarks":[[1,1,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-28 21:53:58)","OpencodeHint"],[" [msg_a2cd04588001P9plKmrFnsNH3M]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[2,5,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[3,6,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[4,7,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[5,8,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[6,9,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[7,10,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[8,11,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[9,12,0,{"end_col":0,"end_row":13,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","virt_text_repeat_linebreak":false,"priority":5000,"ns_id":3,"hl_group":"OpencodeDiffDelete","virt_text_hide":false}],[10,12,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[11,13,0,{"end_col":0,"end_row":14,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","virt_text_repeat_linebreak":false,"priority":5000,"ns_id":3,"hl_group":"OpencodeDiffDelete","virt_text_hide":false}],[12,13,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[13,14,0,{"end_col":0,"end_row":15,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","virt_text_repeat_linebreak":false,"priority":5000,"ns_id":3,"hl_group":"OpencodeDiffAdd","virt_text_hide":false}],[14,14,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[15,15,0,{"end_col":0,"end_row":16,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","virt_text_repeat_linebreak":false,"priority":5000,"ns_id":3,"hl_group":"OpencodeDiffAdd","virt_text_hide":false}],[16,15,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[17,16,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[18,17,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[19,18,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[20,19,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[21,20,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[22,21,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-1,"virt_text_hide":false}],[23,26,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-28 21:54:05)","OpencodeHint"],[" [msg_a2cd062fb001UA0ZzR6JxgLxDQ]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[24,31,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-28 22:34:58)","OpencodeHint"],[" [msg_a2cf5ce65001YLvVsYxIboFcP4]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[25,32,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[26,33,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[27,34,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[28,35,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}],[29,38,0,{"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["PLAN","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-28 22:34:58)","OpencodeHint"],[" [msg_a2cf5cf0f002oBAjmnGIMGXjez]","OpencodeHint"]],"ns_id":3,"right_gravity":true,"virt_text_win_col":-3,"virt_text_hide":false}]],"actions":[{"type":"diff_revert_selected_file","range":{"from":24,"to":24},"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"key":"R","text":"[R]evert file","display_line":24},{"type":"diff_revert_all","range":{"from":24,"to":24},"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"key":"A","text":"Revert [A]ll","display_line":24},{"type":"diff_open","range":{"from":24,"to":24},"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"key":"D","text":"[D]iff","display_line":24}],"timestamp":1763482528} \ No newline at end of file +{"actions":[{"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"type":"diff_revert_selected_file","key":"R","display_line":23,"range":{"from":23,"to":23},"text":"[R]evert file"},{"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"type":"diff_revert_all","key":"A","display_line":23,"range":{"from":23,"to":23},"text":"Revert [A]ll"},{"args":["c64ddee834f1b802020a8f880eafa689f0b99406"],"type":"diff_open","key":"D","display_line":23,"range":{"from":23,"to":23},"text":"[D]iff"}],"timestamp":1763500536,"lines":["----","","","Now let me also update the Run opts examples to use the new command syntax:","","** edit** `README.md`","","`````markdown"," "," Run a prompt in a new session using the Plan agent and disabling current file context:"," "," ```vim"," :OpencodeRunNewSession \"Please help me plan a new feature\" agent=plan context.current_file.enabled=false"," :OpencodeRun \"Fix the bug in the current file\" model=github-copilot/claude-sonned-4"," :Opencode run new_session \"Please help me plan a new feature\" agent=plan context.current_file.enabled=false"," :Opencode run \"Fix the bug in the current file\" model=github-copilot/claude-sonned-4"," ```"," "," ##👮 Permissions"," ","","`````","","**󰻛 Created Snapshot** `c64ddee8`","","----","","","README updated with the new nested command structure. The documentation now shows the new `:Opencode` subcommand syntax and includes a note that legacy `Opencode*` commands are still available by default but will be removed in the future.","","----","","","can you rename Opencode stop to Opencode cancel (and rename the api call)","","[README.md](README.md)","","----","","","Here's the plan to rename `Opencode stop` to `Opencode cancel` and update the API call accordingly:","","---","","## 📝 Plan: Rename Opencode Stop to Cancel","","### 1. Update Command Table and Documentation","- In README.md, change:"," - Command: `:Opencode stop` → `:Opencode cancel`"," - API: `require('opencode.api').stop()` → `require('opencode.api').cancel()`"," - Keymap: `` remains the same (unless you want to change it)","","### 2. Update Codebase","- In `lua/opencode/api.lua`:"," - Rename the function `M.stop()` to `M.cancel()`"," - Update all references to `stop` (command registration, legacy command map, subcommand routing, etc.) to use `cancel`"," - Ensure legacy command `OpencodeStop` still works (with deprecation warning), but routes to `cancel`","- In any other files (keymap config, tests, etc.) update references to `stop` to `cancel` as needed","","### 3. Update Tests","- In `tests/unit/api_spec.lua`:"," - Update any tests that check for `stop` to check for `cancel`","","### 4. Update Slash Commands (if applicable)","- If there is a `/stop` slash command, rename it to `/cancel`","","### 5. Verify","- Run all tests to ensure everything works","- Check that both `:Opencode cancel` and legacy `:OpencodeStop` work (with warning)","","---","","**Note:** You are currently in \"Plan mode\" (read-only phase), so I cannot make edits right now. ","When you switch to edit mode, I will execute this plan step by step and verify all changes.","","Would you like to proceed with this plan when edits are allowed?","",""],"extmarks":[[1,1,0,{"ns_id":3,"priority":10,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-28 21:53:58)","OpencodeHint"],[" [msg_a2cd04588001P9plKmrFnsNH3M]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3}],[2,5,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[3,6,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[4,7,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[5,8,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[6,9,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[7,10,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[8,11,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[9,12,0,{"ns_id":3,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffDelete","virt_text_repeat_linebreak":false,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","priority":5000,"hl_eol":true,"right_gravity":true,"end_col":0,"end_row":13}],[10,12,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[11,13,0,{"ns_id":3,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffDelete","virt_text_repeat_linebreak":false,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","priority":5000,"hl_eol":true,"right_gravity":true,"end_col":0,"end_row":14}],[12,13,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[13,14,0,{"ns_id":3,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffAdd","virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_eol":true,"right_gravity":true,"end_col":0,"end_row":15}],[14,14,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[15,15,0,{"ns_id":3,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffAdd","virt_text_repeat_linebreak":false,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","priority":5000,"hl_eol":true,"right_gravity":true,"end_col":0,"end_row":16}],[16,15,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[17,16,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[18,17,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[19,18,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[20,19,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[21,20,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[22,21,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_win_col":-1}],[23,26,0,{"ns_id":3,"priority":10,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-28 21:54:05)","OpencodeHint"],[" [msg_a2cd062fb001UA0ZzR6JxgLxDQ]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3}],[24,31,0,{"ns_id":3,"priority":10,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-28 22:34:58)","OpencodeHint"],[" [msg_a2cf5ce65001YLvVsYxIboFcP4]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3}],[25,32,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3}],[26,33,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3}],[27,34,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3}],[28,35,0,{"ns_id":3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_win_col":-3}],[29,38,0,{"ns_id":3,"priority":10,"virt_text_hide":false,"right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["PLAN","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-28 22:34:58)","OpencodeHint"],[" [msg_a2cf5cf0f002oBAjmnGIMGXjez]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_win_col":-3}]]} \ No newline at end of file diff --git a/tests/data/permission.expected.json b/tests/data/permission.expected.json index 10d18b65..2397d2e6 100644 --- a/tests/data/permission.expected.json +++ b/tests/data/permission.expected.json @@ -1 +1 @@ -{"lines":["----","","","add a file, test.txt, with \":)\" in it","","----","","","** write** `test.txt`","","`````txt",":)","`````","","**󰻛 Created Snapshot** `c78fb2dd`","","----","","",""],"actions":[{"display_line":15,"type":"diff_revert_selected_file","args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"],"text":"[R]evert file","key":"R","range":{"to":15,"from":15}},{"display_line":15,"type":"diff_revert_all","args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"],"text":"Revert [A]ll","key":"A","range":{"to":15,"from":15}},{"display_line":15,"type":"diff_open","args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"],"text":"[D]iff","key":"D","range":{"to":15,"from":15}}],"timestamp":1763482543,"extmarks":[[1,1,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-12 05:43:49)","OpencodeHint"],[" [msg_9d6f253910015UFmkGkiWtUsRW]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[2,2,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[3,3,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[4,6,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 05:43:49)","OpencodeHint"],[" [msg_9d6f253df001TjqxW12FAjGf5s]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[5,8,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[6,9,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[7,10,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[8,11,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[9,12,0,{"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}],[10,17,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 05:44:00)","OpencodeHint"],[" [msg_9d6f27f4800103Tp3N6i6JW53p]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","ns_id":3,"right_gravity":true,"virt_text_hide":false}]]} \ No newline at end of file +{"lines":["----","","","add a file, test.txt, with \":)\" in it","","----","","","** write** `test.txt`","","`````txt",":)","`````","","**󰻛 Created Snapshot** `c78fb2dd`","","----","","",""],"actions":[{"range":{"from":14,"to":14},"key":"R","display_line":14,"text":"[R]evert file","args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"],"type":"diff_revert_selected_file"},{"range":{"from":14,"to":14},"key":"A","display_line":14,"text":"Revert [A]ll","args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"],"type":"diff_revert_all"},{"range":{"from":14,"to":14},"key":"D","display_line":14,"text":"[D]iff","args":["c78fb2dd2d533cfe530692cc3e3c8f92a0e4af1d"],"type":"diff_open"}],"timestamp":1763500583,"extmarks":[[1,1,0,{"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-12 05:43:49)","OpencodeHint"],[" [msg_9d6f253910015UFmkGkiWtUsRW]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text_win_col":-3}],[2,2,0,{"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-3}],[3,3,0,{"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-3}],[4,6,0,{"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 05:43:49)","OpencodeHint"],[" [msg_9d6f253df001TjqxW12FAjGf5s]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text_win_col":-3}],[5,8,0,{"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1}],[6,9,0,{"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1}],[7,10,0,{"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1}],[8,11,0,{"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1}],[9,12,0,{"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"priority":4096,"virt_text_win_col":-1}],[10,17,0,{"virt_text_hide":false,"right_gravity":true,"ns_id":3,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" claude-sonnet-4.5","OpencodeHint"],[" (2025-10-12 05:44:00)","OpencodeHint"],[" [msg_9d6f27f4800103Tp3N6i6JW53p]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"priority":10,"virt_text_win_col":-3}]]} \ No newline at end of file diff --git a/tests/data/redo-all.expected.json b/tests/data/redo-all.expected.json index ff68677f..5e5f1688 100644 --- a/tests/data/redo-all.expected.json +++ b/tests/data/redo-all.expected.json @@ -1 +1 @@ -{"extmarks":[[1,1,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:02)","OpencodeHint"],[" [msg_a0234c0b7001y2o9S1jMaNVZar]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[2,2,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[3,3,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[4,4,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[5,5,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[6,8,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:04)","OpencodeHint"],[" [msg_a0234c7960011LTxTvD94hfWCi]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[7,12,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[8,13,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[9,14,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[10,15,0,{"virt_text":[["-","OpencodeDiffDelete"]],"ns_id":3,"end_col":0,"end_row":16,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffDelete","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[11,15,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[12,16,0,{"virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_col":0,"end_row":17,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffAdd","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[13,16,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[14,17,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[15,18,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[16,19,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[17,20,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[18,25,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:09)","OpencodeHint"],[" [msg_a0234d8fb001SXyngLjuKSuxOY]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[19,30,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e308001SKl5bQUibp5gtI]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[20,31,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[21,32,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[22,35,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e31f001m4EsQdPmY3PTtS]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[23,42,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:16)","OpencodeHint"],[" [msg_a0234f482001PQbMjWc6W8s0eF]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[24,46,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[25,47,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[26,48,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[27,49,0,{"virt_text":[["-","OpencodeDiffDelete"]],"ns_id":3,"end_col":0,"end_row":50,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffDelete","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[28,49,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[29,50,0,{"virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_col":0,"end_row":51,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffAdd","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[30,50,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[31,51,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[32,52,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[33,53,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[34,54,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[35,59,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:17)","OpencodeHint"],[" [msg_a0234f9c6001JCKYaca1HHwwx6]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[36,64,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:22:29)","OpencodeHint"],[" [msg_a0236fd1c001TlwqL8fwvq529i]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[37,65,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[38,66,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[39,69,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:29)","OpencodeHint"],[" [msg_a0236fd57001pTnTjSBdFlleCb]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[40,76,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:34)","OpencodeHint"],[" [msg_a02371241001PBQAsr8Oc9hqNI]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}],[41,80,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[42,81,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[43,82,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[44,83,0,{"virt_text":[["-","OpencodeDiffDelete"]],"ns_id":3,"end_col":0,"end_row":84,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffDelete","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[45,83,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[46,84,0,{"virt_text":[["+","OpencodeDiffAdd"]],"ns_id":3,"end_col":0,"end_row":85,"hl_eol":true,"right_gravity":true,"end_right_gravity":false,"virt_text_hide":false,"hl_group":"OpencodeDiffAdd","virt_text_repeat_linebreak":false,"virt_text_pos":"overlay","priority":5000}],[47,84,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[48,85,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[49,86,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[50,87,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[51,88,0,{"virt_text":[["▌","OpencodeToolBorder"]],"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":true,"virt_text_hide":false}],[52,93,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:39)","OpencodeHint"],[" [msg_a023723d0001r87MaJThFssUw1]","OpencodeHint"]],"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true,"virt_text_repeat_linebreak":false,"virt_text_hide":false}]],"actions":[{"display_line":91,"range":{"to":91,"from":91},"text":"[R]evert file","type":"diff_revert_selected_file","key":"R","args":["d988cc85565b99017d40ad8baea20225165be9d5"]},{"display_line":91,"range":{"to":91,"from":91},"text":"Revert [A]ll","type":"diff_revert_all","key":"A","args":["d988cc85565b99017d40ad8baea20225165be9d5"]},{"display_line":91,"range":{"to":91,"from":91},"text":"[D]iff","type":"diff_open","key":"D","args":["d988cc85565b99017d40ad8baea20225165be9d5"]},{"display_line":23,"range":{"to":23,"from":23},"text":"[R]evert file","type":"diff_revert_selected_file","key":"R","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"]},{"display_line":23,"range":{"to":23,"from":23},"text":"Revert [A]ll","type":"diff_revert_all","key":"A","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"]},{"display_line":23,"range":{"to":23,"from":23},"text":"[D]iff","type":"diff_open","key":"D","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"]},{"display_line":57,"range":{"to":57,"from":57},"text":"[R]evert file","type":"diff_revert_selected_file","key":"R","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"]},{"display_line":57,"range":{"to":57,"from":57},"text":"Revert [A]ll","type":"diff_revert_all","key":"A","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"]},{"display_line":57,"range":{"to":57,"from":57},"text":"[D]iff","type":"diff_open","key":"D","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"]}],"timestamp":1763482582,"lines":["----","","","add another word","","[test.txt](test.txt)","","----","","","I'll append a single word (\"again\") to the first line of `test.txt`. Applying a precise edit to the existing line now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," "," ","","`````","","**󰻛 Created Snapshot** `1b6ba655`","","----","","","**Done:** added the word `again` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append one word (\"again2\") to that line. Proceeding to read the file.","","** read** `test.txt`","","----","","","Now I'll append the word \"again2\" to the first line. I'll apply an exact in-place edit to update that line.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," "," ","","`````","","**󰻛 Created Snapshot** `57d83f55`","","----","","","**Done:** appended the word `again2` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append the word `again3`. Proceeding to read the file.","","** read** `test.txt`","","----","","","I'll append the word \"again3\" to the first line of `test.txt` with an exact in-place edit. Applying the change now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2 again3"," "," ","","`````","","**󰻛 Created Snapshot** `d988cc85`","","----","","","**Done:** appended the word `again3` to `test.txt`.","",""]} \ No newline at end of file +{"extmarks":[[1,1,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:02)","OpencodeHint"],[" [msg_a0234c0b7001y2o9S1jMaNVZar]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}],[2,2,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[3,3,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[4,4,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[5,5,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[6,8,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:04)","OpencodeHint"],[" [msg_a0234c7960011LTxTvD94hfWCi]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}],[7,12,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[8,13,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[9,14,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[10,15,0,{"hl_group":"OpencodeDiffDelete","virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","end_col":0,"end_row":16,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"right_gravity":true}],[11,15,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[12,16,0,{"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","end_col":0,"end_row":17,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"right_gravity":true}],[13,16,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[14,17,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[15,18,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[16,19,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[17,20,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[18,25,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:09)","OpencodeHint"],[" [msg_a0234d8fb001SXyngLjuKSuxOY]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}],[19,30,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e308001SKl5bQUibp5gtI]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}],[20,31,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[21,32,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[22,35,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e31f001m4EsQdPmY3PTtS]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}],[23,42,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:16)","OpencodeHint"],[" [msg_a0234f482001PQbMjWc6W8s0eF]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}],[24,46,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[25,47,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[26,48,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[27,49,0,{"hl_group":"OpencodeDiffDelete","virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","end_col":0,"end_row":50,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"right_gravity":true}],[28,49,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[29,50,0,{"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","end_col":0,"end_row":51,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"right_gravity":true}],[30,50,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[31,51,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[32,52,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[33,53,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[34,54,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[35,59,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:17)","OpencodeHint"],[" [msg_a0234f9c6001JCKYaca1HHwwx6]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}],[36,64,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:22:29)","OpencodeHint"],[" [msg_a0236fd1c001TlwqL8fwvq529i]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}],[37,65,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[38,66,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[39,69,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:29)","OpencodeHint"],[" [msg_a0236fd57001pTnTjSBdFlleCb]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}],[40,76,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:34)","OpencodeHint"],[" [msg_a02371241001PBQAsr8Oc9hqNI]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}],[41,80,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[42,81,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[43,82,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[44,83,0,{"hl_group":"OpencodeDiffDelete","virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","end_col":0,"end_row":84,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"right_gravity":true}],[45,83,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[46,84,0,{"hl_group":"OpencodeDiffAdd","virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","end_col":0,"end_row":85,"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"ns_id":3,"priority":5000,"right_gravity":true}],[47,84,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[48,85,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[49,86,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[50,87,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[51,88,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","right_gravity":true}],[52,93,0,{"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:22:39)","OpencodeHint"],[" [msg_a023723d0001r87MaJThFssUw1]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","right_gravity":true}]],"timestamp":1763500630,"lines":["----","","","add another word","","[test.txt](test.txt)","","----","","","I'll append a single word (\"again\") to the first line of `test.txt`. Applying a precise edit to the existing line now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," "," ","","`````","","**󰻛 Created Snapshot** `1b6ba655`","","----","","","**Done:** added the word `again` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append one word (\"again2\") to that line. Proceeding to read the file.","","** read** `test.txt`","","----","","","Now I'll append the word \"again2\" to the first line. I'll apply an exact in-place edit to update that line.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," "," ","","`````","","**󰻛 Created Snapshot** `57d83f55`","","----","","","**Done:** appended the word `again2` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append the word `again3`. Proceeding to read the file.","","** read** `test.txt`","","----","","","I'll append the word \"again3\" to the first line of `test.txt` with an exact in-place edit. Applying the change now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2 again3"," "," ","","`````","","**󰻛 Created Snapshot** `d988cc85`","","----","","","**Done:** appended the word `again3` to `test.txt`.","",""],"actions":[{"key":"R","range":{"to":90,"from":90},"text":"[R]evert file","type":"diff_revert_selected_file","args":["d988cc85565b99017d40ad8baea20225165be9d5"],"display_line":90},{"key":"A","range":{"to":90,"from":90},"text":"Revert [A]ll","type":"diff_revert_all","args":["d988cc85565b99017d40ad8baea20225165be9d5"],"display_line":90},{"key":"D","range":{"to":90,"from":90},"text":"[D]iff","type":"diff_open","args":["d988cc85565b99017d40ad8baea20225165be9d5"],"display_line":90},{"key":"R","range":{"to":56,"from":56},"text":"[R]evert file","type":"diff_revert_selected_file","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"display_line":56},{"key":"A","range":{"to":56,"from":56},"text":"Revert [A]ll","type":"diff_revert_all","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"display_line":56},{"key":"D","range":{"to":56,"from":56},"text":"[D]iff","type":"diff_open","args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"display_line":56},{"key":"R","range":{"to":22,"from":22},"text":"[R]evert file","type":"diff_revert_selected_file","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"display_line":22},{"key":"A","range":{"to":22,"from":22},"text":"Revert [A]ll","type":"diff_revert_all","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"display_line":22},{"key":"D","range":{"to":22,"from":22},"text":"[D]iff","type":"diff_open","args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"display_line":22}]} \ No newline at end of file diff --git a/tests/data/redo-once.expected.json b/tests/data/redo-once.expected.json index 4855227e..0d48afd3 100644 --- a/tests/data/redo-once.expected.json +++ b/tests/data/redo-once.expected.json @@ -1 +1 @@ -{"extmarks":[[1,1,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:02)","OpencodeHint"],[" [msg_a0234c0b7001y2o9S1jMaNVZar]","OpencodeHint"]],"virt_text_pos":"win_col"}],[2,2,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[3,3,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[4,4,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[5,5,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[6,8,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:04)","OpencodeHint"],[" [msg_a0234c7960011LTxTvD94hfWCi]","OpencodeHint"]],"virt_text_pos":"win_col"}],[7,12,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[8,13,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[9,14,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[10,15,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"end_right_gravity":false,"priority":5000,"hl_group":"OpencodeDiffDelete","end_col":0,"end_row":16,"hl_eol":true,"right_gravity":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay"}],[11,15,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[12,16,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"end_right_gravity":false,"priority":5000,"hl_group":"OpencodeDiffAdd","end_col":0,"end_row":17,"hl_eol":true,"right_gravity":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay"}],[13,16,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[14,17,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[15,18,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[16,19,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[17,20,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[18,25,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:09)","OpencodeHint"],[" [msg_a0234d8fb001SXyngLjuKSuxOY]","OpencodeHint"]],"virt_text_pos":"win_col"}],[19,30,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e308001SKl5bQUibp5gtI]","OpencodeHint"]],"virt_text_pos":"win_col"}],[20,31,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[21,32,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col"}],[22,35,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e31f001m4EsQdPmY3PTtS]","OpencodeHint"]],"virt_text_pos":"win_col"}],[23,42,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:16)","OpencodeHint"],[" [msg_a0234f482001PQbMjWc6W8s0eF]","OpencodeHint"]],"virt_text_pos":"win_col"}],[24,46,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[25,47,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[26,48,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[27,49,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"end_right_gravity":false,"priority":5000,"hl_group":"OpencodeDiffDelete","end_col":0,"end_row":50,"hl_eol":true,"right_gravity":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay"}],[28,49,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[29,50,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"end_right_gravity":false,"priority":5000,"hl_group":"OpencodeDiffAdd","end_col":0,"end_row":51,"hl_eol":true,"right_gravity":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay"}],[30,50,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[31,51,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[32,52,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[33,53,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[34,54,0,{"ns_id":3,"virt_text_repeat_linebreak":true,"virt_text_hide":false,"priority":4096,"virt_text_win_col":-1,"right_gravity":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col"}],[35,59,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":10,"virt_text_win_col":-3,"right_gravity":true,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:17)","OpencodeHint"],[" [msg_a0234f9c6001JCKYaca1HHwwx6]","OpencodeHint"]],"virt_text_pos":"win_col"}],[36,69,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":1000,"virt_text_win_col":12,"right_gravity":true,"virt_text":[["+1","OpencodeDiffAddText"]],"virt_text_pos":"win_col"}],[37,69,0,{"ns_id":3,"virt_text_repeat_linebreak":false,"virt_text_hide":false,"priority":1000,"virt_text_win_col":15,"right_gravity":true,"virt_text":[["-1","OpencodeDiffDeleteText"]],"virt_text_pos":"win_col"}]],"actions":[{"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"range":{"to":23,"from":23},"text":"[R]evert file","type":"diff_revert_selected_file","display_line":23,"key":"R"},{"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"range":{"to":23,"from":23},"text":"Revert [A]ll","type":"diff_revert_all","display_line":23,"key":"A"},{"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"],"range":{"to":23,"from":23},"text":"[D]iff","type":"diff_open","display_line":23,"key":"D"},{"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"range":{"to":57,"from":57},"text":"[R]evert file","type":"diff_revert_selected_file","display_line":57,"key":"R"},{"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"range":{"to":57,"from":57},"text":"Revert [A]ll","type":"diff_revert_all","display_line":57,"key":"A"},{"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"],"range":{"to":57,"from":57},"text":"[D]iff","type":"diff_open","display_line":57,"key":"D"}],"timestamp":1763482599,"lines":["----","","","add another word","","[test.txt](test.txt)","","----","","","I'll append a single word (\"again\") to the first line of `test.txt`. Applying a precise edit to the existing line now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," "," ","","`````","","**󰻛 Created Snapshot** `1b6ba655`","","----","","","**Done:** added the word `again` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append one word (\"again2\") to that line. Proceeding to read the file.","","** read** `test.txt`","","----","","","Now I'll append the word \"again2\" to the first line. I'll apply an exact in-place edit to update that line.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," "," ","","`````","","**󰻛 Created Snapshot** `57d83f55`","","----","","","**Done:** appended the word `again2` to `test.txt`.","","----","","> 1 message reverted, 2 tool calls reverted",">","> type `/redo` to restore.",""," test.txt: +1 -1",""]} \ No newline at end of file +{"extmarks":[[1,1,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:02)","OpencodeHint"],[" [msg_a0234c0b7001y2o9S1jMaNVZar]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10}],[2,2,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096}],[3,3,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096}],[4,4,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096}],[5,5,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096}],[6,8,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:04)","OpencodeHint"],[" [msg_a0234c7960011LTxTvD94hfWCi]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10}],[7,12,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[8,13,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[9,14,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[10,15,0,{"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"end_row":16,"ns_id":3,"hl_group":"OpencodeDiffDelete","right_gravity":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","end_col":0,"priority":5000}],[11,15,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[12,16,0,{"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"end_row":17,"ns_id":3,"hl_group":"OpencodeDiffAdd","right_gravity":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","end_col":0,"priority":5000}],[13,16,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[14,17,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[15,18,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[16,19,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[17,20,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[18,25,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:09)","OpencodeHint"],[" [msg_a0234d8fb001SXyngLjuKSuxOY]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10}],[19,30,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e308001SKl5bQUibp5gtI]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10}],[20,31,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096}],[21,32,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":4096}],[22,35,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:11)","OpencodeHint"],[" [msg_a0234e31f001m4EsQdPmY3PTtS]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10}],[23,42,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:16)","OpencodeHint"],[" [msg_a0234f482001PQbMjWc6W8s0eF]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10}],[24,46,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[25,47,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[26,48,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[27,49,0,{"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"end_row":50,"ns_id":3,"hl_group":"OpencodeDiffDelete","right_gravity":true,"virt_text":[["-","OpencodeDiffDelete"]],"virt_text_pos":"overlay","end_col":0,"priority":5000}],[28,49,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[29,50,0,{"hl_eol":true,"end_right_gravity":false,"virt_text_hide":false,"virt_text_repeat_linebreak":false,"end_row":51,"ns_id":3,"hl_group":"OpencodeDiffAdd","right_gravity":true,"virt_text":[["+","OpencodeDiffAdd"]],"virt_text_pos":"overlay","end_col":0,"priority":5000}],[30,50,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[31,51,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[32,52,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[33,53,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[34,54,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_repeat_linebreak":true,"virt_text_pos":"win_col","virt_text_win_col":-1,"priority":4096}],[35,59,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-5-mini","OpencodeHint"],[" (2025-10-20 15:20:17)","OpencodeHint"],[" [msg_a0234f9c6001JCKYaca1HHwwx6]","OpencodeHint"]],"virt_text_repeat_linebreak":false,"virt_text_pos":"win_col","virt_text_win_col":-3,"priority":10}],[36,69,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["+1","OpencodeDiffAddText"]],"virt_text_repeat_linebreak":false,"virt_text_pos":"win_col","virt_text_win_col":12,"priority":1000}],[37,69,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text":[["-1","OpencodeDiffDeleteText"]],"virt_text_repeat_linebreak":false,"virt_text_pos":"win_col","virt_text_win_col":15,"priority":1000}]],"timestamp":1763500680,"lines":["----","","","add another word","","[test.txt](test.txt)","","----","","","I'll append a single word (\"again\") to the first line of `test.txt`. Applying a precise edit to the existing line now.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," "," ","","`````","","**󰻛 Created Snapshot** `1b6ba655`","","----","","","**Done:** added the word `again` to `test.txt`.","","----","","","add another word","","----","","","I'll read `test.txt` to get the current first-line content, then append one word (\"again2\") to that line. Proceeding to read the file.","","** read** `test.txt`","","----","","","Now I'll append the word \"again2\" to the first line. I'll apply an exact in-place edit to update that line.","","** edit** `test.txt`","","`````txt"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again"," tangram quiver saffron nebula cobalt murmur plinth zephyr ember lattice cadenza another yet extra more again again2"," "," ","","`````","","**󰻛 Created Snapshot** `57d83f55`","","----","","","**Done:** appended the word `again2` to `test.txt`.","","----","","> 1 message reverted, 2 tool calls reverted",">","> type `/redo` to restore.",""," test.txt: +1 -1",""],"actions":[{"text":"[R]evert file","key":"R","type":"diff_revert_selected_file","display_line":56,"range":{"to":56,"from":56},"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"]},{"text":"Revert [A]ll","key":"A","type":"diff_revert_all","display_line":56,"range":{"to":56,"from":56},"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"]},{"text":"[D]iff","key":"D","type":"diff_open","display_line":56,"range":{"to":56,"from":56},"args":["57d83f5596cb1f142fbc681d3d93b7184f7f73cd"]},{"text":"[R]evert file","key":"R","type":"diff_revert_selected_file","display_line":22,"range":{"to":22,"from":22},"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"]},{"text":"Revert [A]ll","key":"A","type":"diff_revert_all","display_line":22,"range":{"to":22,"from":22},"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"]},{"text":"[D]iff","key":"D","type":"diff_open","display_line":22,"range":{"to":22,"from":22},"args":["1b6ba655c6c0d899965adff278ac6320d5fc3b12"]}]} \ No newline at end of file diff --git a/tests/data/revert.expected.json b/tests/data/revert.expected.json index 09a2e4f8..e445e9e8 100644 --- a/tests/data/revert.expected.json +++ b/tests/data/revert.expected.json @@ -1 +1 @@ -{"lines":["----","","","write 10 random words","","[poem.md](poem.md)","","----","","","Here are 10 random words:","","1. Lantern ","2. Whisper ","3. Velvet ","4. Orbit ","5. Timber ","6. Quiver ","7. Mosaic ","8. Ember ","9. Spiral ","10. Glimmer","","Let me know if you need them in a specific format or want to use them in a file!","","----","","","write 10 random words to the file","","----","","","I will write 10 random words to poem.md, each on a new line.","","Proceeding to update the file now.","","** write** `poem.md`","","`````markdown","Lantern","Whisper","Velvet","Orbit","Timber","Quiver","Mosaic","Ember","Spiral","Glimmer","","`````","","**󰻛 Created Snapshot** `c410b2b4`","","----","","","The file poem.md has been updated with 10 random words, each on a new line. Task complete! If you need anything else, let me know.","","----","","> 2 messages reverted, 4 tool calls reverted",">","> type `/redo` to restore.",""," poem.md: -20",""],"actions":[{"type":"diff_revert_selected_file","args":["c410b2b4024de020aea223c5248eec89216de53f"],"text":"[R]evert file","range":{"from":54,"to":54},"display_line":54,"key":"R"},{"type":"diff_revert_all","args":["c410b2b4024de020aea223c5248eec89216de53f"],"text":"Revert [A]ll","range":{"from":54,"to":54},"display_line":54,"key":"A"},{"type":"diff_open","args":["c410b2b4024de020aea223c5248eec89216de53f"],"text":"[D]iff","range":{"from":54,"to":54},"display_line":54,"key":"D"}],"timestamp":1763482195,"extmarks":[[1,1,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-19 17:50:43)","OpencodeHint"],[" [msg_9fd985573001fk1Xlot7uyDgTo]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[2,2,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[3,3,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[4,4,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[5,5,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[6,8,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:44)","OpencodeHint"],[" [msg_9fd985a4d001wOX3Op7CpFiCTq]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[7,26,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-19 17:50:57)","OpencodeHint"],[" [msg_9fd988c92001w0IZCVPQsN6xa9]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[8,27,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[9,28,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","priority":4096}],[10,31,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:57)","OpencodeHint"],[" [msg_9fd988ca7001lgaGttpI4YeGSA]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[11,37,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[12,38,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[13,39,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[14,40,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[15,41,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[16,42,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[17,43,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[18,44,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[19,45,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[20,46,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[21,47,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[22,48,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[23,49,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[24,50,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[25,51,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-1,"virt_text_repeat_linebreak":true,"virt_text":[["▌","OpencodeToolBorder"]],"virt_text_pos":"win_col","priority":4096}],[26,56,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":-3,"virt_text_repeat_linebreak":false,"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:59)","OpencodeHint"],[" [msg_9fd98942d001elqd2sd8CZeOoA]","OpencodeHint"]],"virt_text_pos":"win_col","priority":10}],[27,66,0,{"right_gravity":true,"ns_id":3,"virt_text_hide":false,"virt_text_win_col":11,"virt_text_repeat_linebreak":false,"virt_text":[["-20","OpencodeDiffDeleteText"]],"virt_text_pos":"win_col","priority":1000}]]} \ No newline at end of file +{"timestamp":1763500798,"extmarks":[[1,1,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-19 17:50:43)","OpencodeHint"],[" [msg_9fd985573001fk1Xlot7uyDgTo]","OpencodeHint"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_hide":false}],[2,2,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[3,3,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[4,4,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[5,5,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[6,8,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:44)","OpencodeHint"],[" [msg_9fd985a4d001wOX3Op7CpFiCTq]","OpencodeHint"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_hide":false}],[7,26,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-19 17:50:57)","OpencodeHint"],[" [msg_9fd988c92001w0IZCVPQsN6xa9]","OpencodeHint"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_hide":false}],[8,27,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[9,28,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[10,31,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:57)","OpencodeHint"],[" [msg_9fd988ca7001lgaGttpI4YeGSA]","OpencodeHint"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_hide":false}],[11,37,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[12,38,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[13,39,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[14,40,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[15,41,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[16,42,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[17,43,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[18,44,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[19,45,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[20,46,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[21,47,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[22,48,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[23,49,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[24,50,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[25,51,0,{"virt_text":[["▌","OpencodeToolBorder"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-1,"priority":4096,"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_hide":false}],[26,56,0,{"virt_text":[[" ","OpencodeMessageRoleAssistant"],[" "],["BUILD","OpencodeMessageRoleAssistant"],[" gpt-4.1","OpencodeHint"],[" (2025-10-19 17:50:59)","OpencodeHint"],[" [msg_9fd98942d001elqd2sd8CZeOoA]","OpencodeHint"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":-3,"priority":10,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_hide":false}],[27,66,0,{"virt_text":[["-20","OpencodeDiffDeleteText"]],"right_gravity":true,"ns_id":3,"virt_text_win_col":11,"priority":1000,"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_hide":false}]],"lines":["----","","","write 10 random words","","[poem.md](poem.md)","","----","","","Here are 10 random words:","","1. Lantern ","2. Whisper ","3. Velvet ","4. Orbit ","5. Timber ","6. Quiver ","7. Mosaic ","8. Ember ","9. Spiral ","10. Glimmer","","Let me know if you need them in a specific format or want to use them in a file!","","----","","","write 10 random words to the file","","----","","","I will write 10 random words to poem.md, each on a new line.","","Proceeding to update the file now.","","** write** `poem.md`","","`````markdown","Lantern","Whisper","Velvet","Orbit","Timber","Quiver","Mosaic","Ember","Spiral","Glimmer","","`````","","**󰻛 Created Snapshot** `c410b2b4`","","----","","","The file poem.md has been updated with 10 random words, each on a new line. Task complete! If you need anything else, let me know.","","----","","> 2 messages reverted, 4 tool calls reverted",">","> type `/redo` to restore.",""," poem.md: -20",""],"actions":[{"display_line":53,"range":{"from":53,"to":53},"args":["c410b2b4024de020aea223c5248eec89216de53f"],"text":"[R]evert file","type":"diff_revert_selected_file","key":"R"},{"display_line":53,"range":{"from":53,"to":53},"args":["c410b2b4024de020aea223c5248eec89216de53f"],"text":"Revert [A]ll","type":"diff_revert_all","key":"A"},{"display_line":53,"range":{"from":53,"to":53},"args":["c410b2b4024de020aea223c5248eec89216de53f"],"text":"[D]iff","type":"diff_open","key":"D"}]} \ No newline at end of file From 43ae22f9892f56b8097f45cc15d1874103e84011 Mon Sep 17 00:00:00 2001 From: Cameron Ring Date: Tue, 18 Nov 2025 13:20:39 -0800 Subject: [PATCH 4/4] test(replay): monkey patch render_full_session Was still fighting with the automatic session fetching / rendering. I think it makes sense to just disable that because we want to control the renderer at a lower level. --- tests/helpers.lua | 5 ++++- tests/manual/renderer_replay.lua | 10 ++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/helpers.lua b/tests/helpers.lua index a7e00b73..cfc05cca 100644 --- a/tests/helpers.lua +++ b/tests/helpers.lua @@ -27,7 +27,10 @@ function M.replay_setup() state.windows = ui.create_windows() - renderer.reset() + -- disable fetching session and rendering it (we'll handle it at a lower level) + renderer.render_full_session = function() + return require('opencode.promise').new():resolve(nil) + end M.mock_time_utils() diff --git a/tests/manual/renderer_replay.lua b/tests/manual/renderer_replay.lua index 55cca448..3ea24c0f 100644 --- a/tests/manual/renderer_replay.lua +++ b/tests/manual/renderer_replay.lua @@ -196,14 +196,12 @@ function M.replay_full_session() end state.active_session = helpers.get_session_from_events(M.events, true) - vim.schedule(function() - local session_data = helpers.load_session_from_events(M.events) + local session_data = helpers.load_session_from_events(M.events) - renderer._render_full_session_data(session_data) - state.job_count = 0 + renderer._render_full_session_data(session_data) + state.job_count = 0 - vim.notify('Rendered full session from loaded events', vim.log.levels.INFO) - end) + vim.notify('Rendered full session from loaded events', vim.log.levels.INFO) return true end