refactor: canonicalize internal metadata field names
Problem: `pending.Metadata` used shorthand field names (`cat`, `rec`, `rec_mode`) matching user-facing token syntax, coupling internal representation to config. `RecurSpec.from_completion` used a boolean where a `pending.RecurMode` alias exists. `category_syntax` was hardcoded to `'cat'` with no config option. Solution: rename `Metadata` fields to `category`/`recur`/`recur_mode`, add `category_syntax` config option (default `'cat'`), rename `ParsedEntry` fields to match, replace `RecurSpec.from_completion` with `mode: pending.RecurMode`, and restore `[string]` indexer on `pending.ForgeConfig` alongside explicit fields.
This commit is contained in:
parent
4710e6197f
commit
05871fa1a5
12 changed files with 96 additions and 67 deletions
|
|
@ -8,7 +8,7 @@ describe('recur', function()
|
|||
local r = recur.parse('daily')
|
||||
assert.are.equal('daily', r.freq)
|
||||
assert.are.equal(1, r.interval)
|
||||
assert.is_false(r.from_completion)
|
||||
assert.are.equal('scheduled', r.mode)
|
||||
end)
|
||||
|
||||
it('parses weekdays', function()
|
||||
|
|
@ -79,7 +79,7 @@ describe('recur', function()
|
|||
it('parses ! prefix as completion-based', function()
|
||||
local r = recur.parse('!weekly')
|
||||
assert.are.equal('weekly', r.freq)
|
||||
assert.is_true(r.from_completion)
|
||||
assert.are.equal('completion', r.mode)
|
||||
end)
|
||||
|
||||
it('parses raw RRULE fragment', function()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue