Skip to content

Commit 86cd103

Browse files
Fix recurring event sorting in agenda view. Closes #337
1 parent 1fe5df3 commit 86cd103

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

lua/orgmode/agenda/agenda_item.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ local AgendaItem = {}
2828
---@param index number
2929
function AgendaItem:new(headline_date, headline, date, index)
3030
local opts = {}
31-
opts.headline_date = headline_date
31+
opts.headline_date = headline_date:apply_repeater_until(date)
3232
opts.headline = headline
3333
opts.date = date
3434
opts.index = index or 1
3535
opts.is_valid = false
3636
opts.is_today = date:is_today()
37-
opts.is_same_day = headline_date:is_same(date, 'day') or headline_date:repeats_on(date)
37+
opts.is_same_day = opts.headline_date:is_same(date, 'day')
3838
opts.is_in_date_range = headline_date:is_none() and headline_date:is_in_date_range(date)
3939
opts.date_range_days = headline_date:get_date_range_days()
4040
opts.label = ''

tests/plenary/object/date_spec.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -565,6 +565,12 @@ describe('Date object', function()
565565
assert.is.True(closest_friday:diff(Date.now()) < 8)
566566
end)
567567

568+
it('should apply repeater date until provided date', function()
569+
local sunday = Date.from_string('2022-06-19 Sun 12:30 +1w')
570+
local inTwoWeeks = Date.from_string('2022-06-26 Sun 12:30 +1w')
571+
assert.are.same(inTwoWeeks:to_string(), sunday:apply_repeater_until(inTwoWeeks):to_string())
572+
end)
573+
568574
it('should cache check for today', function()
569575
local today = Date.today()
570576
assert.is.Nil(today.is_today_date)

0 commit comments

Comments
 (0)