Skip to content

Commit c84b9de

Browse files
committed
chore(renderer): cleaning up diagnostics
1 parent bb53413 commit c84b9de

File tree

2 files changed

+23
-23
lines changed

2 files changed

+23
-23
lines changed

lua/opencode/ui/render_state.lua

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ end
179179
---@param line_start integer? Line where part starts
180180
---@param line_end integer? Line where part ends
181181
function RenderState:set_part(part, line_start, line_end)
182-
if not part or not part.id then
182+
if not part or not part.id or not part.messageID then
183183
return
184184
end
185185
local part_id = part.id
@@ -358,47 +358,47 @@ end
358358
---@param from_line integer Line number to start shifting from
359359
---@param delta integer Number of lines to shift (positive or negative)
360360
function RenderState:shift_all(from_line, delta)
361-
if delta == 0 then
361+
if delta == 0 or not state.messages then
362362
return
363363
end
364364

365365
local found_content_before_from_line = false
366366
local anything_shifted = false
367367

368368
for i = #state.messages, 1, -1 do
369-
local msg_wrapper = state.messages[i]
369+
local message = state.messages[i] or {}
370370

371-
local msg_id = msg_wrapper.info and msg_wrapper.info.id
371+
local msg_id = message.info and message.info.id
372372
if msg_id then
373-
local msg_data = self._messages[msg_id]
374-
if msg_data and msg_data.line_start and msg_data.line_end then
375-
if msg_data.line_start >= from_line then
376-
msg_data.line_start = msg_data.line_start + delta
377-
msg_data.line_end = msg_data.line_end + delta
373+
local rendered_msg = self._messages[msg_id]
374+
if rendered_msg and rendered_msg.line_start and rendered_msg.line_end then
375+
if rendered_msg.line_start >= from_line then
376+
rendered_msg.line_start = rendered_msg.line_start + delta
377+
rendered_msg.line_end = rendered_msg.line_end + delta
378378
anything_shifted = true
379-
elseif msg_data.line_end < from_line then
379+
elseif rendered_msg.line_end < from_line then
380380
found_content_before_from_line = true
381381
end
382382
end
383383
end
384384

385-
if msg_wrapper.parts then
386-
for j = #msg_wrapper.parts, 1, -1 do
387-
local part = msg_wrapper.parts[j]
385+
if message.parts then
386+
for j = #message.parts, 1, -1 do
387+
local part = message.parts[j]
388388
if part.id then
389-
local part_data = self._parts[part.id]
390-
if part_data and part_data.line_start and part_data.line_end then
391-
if part_data.line_start >= from_line then
392-
part_data.line_start = part_data.line_start + delta
393-
part_data.line_end = part_data.line_end + delta
389+
local rendered_part = self._parts[part.id]
390+
if rendered_part and rendered_part.line_start and rendered_part.line_end then
391+
if rendered_part.line_start >= from_line then
392+
rendered_part.line_start = rendered_part.line_start + delta
393+
rendered_part.line_end = rendered_part.line_end + delta
394394
anything_shifted = true
395395

396-
if part_data.actions then
397-
for _, action in ipairs(part_data.actions) do
396+
if rendered_part.actions then
397+
for _, action in ipairs(rendered_part.actions) do
398398
shift_action_lines(action, delta)
399399
end
400400
end
401-
elseif part_data.line_end < from_line then
401+
elseif rendered_part.line_end < from_line then
402402
found_content_before_from_line = true
403403
end
404404
end

tests/unit/render_state_spec.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -474,8 +474,8 @@ describe('RenderState', function()
474474

475475
describe('update_part_data', function()
476476
it('updates part reference', function()
477-
local part1 = { id = 'part1', content = 'original' }
478-
local part2 = { id = 'part1', content = 'updated' }
477+
local part1 = { id = 'part1', content = 'original', messageID = 'msg1' }
478+
local part2 = { id = 'part1', content = 'updated', messageID = 'msg1' }
479479
render_state:set_part(part1, 10, 15)
480480

481481
render_state:update_part_data(part2)

0 commit comments

Comments
 (0)