Skip to content

Commit 46cd1df

Browse files
fix(agenda): Reload agenda when headline range is updated
1 parent 266888a commit 46cd1df

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

lua/orgmode/agenda/init.lua

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -568,38 +568,40 @@ function Agenda:_remote_edit(opts)
568568
end
569569
local getter = opts.getter
570570
or function()
571-
local item, agenda_line, view = self:_get_headline()
572-
if not item then
571+
local headline, agenda_line, view = self:_get_headline()
572+
if not headline then
573573
return
574574
end
575-
return item, agenda_line, view
575+
return headline, agenda_line, view
576576
end
577-
local item, agenda_line, view = getter()
578-
if not item then
577+
local headline, agenda_line, view = getter()
578+
if not headline then
579579
return
580580
end
581-
local update = item.file:update(function(_)
582-
vim.fn.cursor({ item:get_range().start_line, 1 })
581+
local update = headline.file:update(function(_)
582+
vim.fn.cursor({ headline:get_range().start_line, 1 })
583583
return Promise.resolve(require('orgmode').action(action)):next(function()
584584
return self.files:get_closest_headline_or_nil()
585585
end)
586586
end)
587587

588-
update:next(function(headline)
589-
---@cast headline OrgHeadline
588+
local old_range = headline:get_range()
589+
590+
update:next(function(updated_headline)
591+
---@cast updated_headline OrgHeadline
590592
if opts.redo then
591593
return self:redo('remote_edit', true)
592594
end
593-
if not opts.update_in_place or not headline then
595+
if not opts.update_in_place or not updated_headline then
594596
return
595597
end
596-
local line_range_same = headline:get_range():is_same_line_range(item:get_range())
598+
local line_range_same = updated_headline:get_range():is_same_line_range(old_range)
597599

598600
local update_item_inline = function()
599601
if not agenda_line or not view then
600602
return
601603
end
602-
return view:rerender_agenda_line(agenda_line, headline)
604+
return view:rerender_agenda_line(agenda_line, updated_headline)
603605
end
604606

605607
if line_range_same then

0 commit comments

Comments
 (0)