pending.nvim/lua/pending
Barrett Ruth 7de9c23ec1 refactor(sync): extract backend interface, adapt gcal module
Problem: :Pending sync hardcodes Google Calendar — M.sync() does
pcall(require, 'pending.sync.gcal') and calls gcal.sync() directly.
The config has a flat gcal field. This prevents adding new sync backends
without modifying init.lua.

Solution: Define a backend interface contract (name, auth, sync, health
fields), refactor :Pending sync to dispatch via require('pending.sync.'
.. backend_name), add sync table to config with legacy gcal migration,
rename gcal.authorize to gcal.auth, add gcal.health for checkhealth,
and add tab completion for backend names and actions.
2026-02-26 16:44:20 -05:00
..
sync refactor(sync): extract backend interface, adapt gcal module 2026-02-26 16:44:20 -05:00
buffer.lua feat: text objects and motions for the pending buffer (#39) 2026-02-26 16:28:58 -05:00
complete.lua feat: time-aware due dates, persistent undo, @return audit (#33) 2026-02-25 20:37:50 -05:00
config.lua refactor(sync): extract backend interface, adapt gcal module 2026-02-26 16:44:20 -05:00
diff.lua feat: time-aware due dates, persistent undo, @return audit (#33) 2026-02-25 20:37:50 -05:00
health.lua refactor(sync): extract backend interface, adapt gcal module 2026-02-26 16:44:20 -05:00
init.lua refactor(sync): extract backend interface, adapt gcal module 2026-02-26 16:44:20 -05:00
parse.lua feat: statusline API, counts, and PendingStatusChanged event (#40) 2026-02-26 16:30:06 -05:00
recur.lua feat: time-aware due dates, persistent undo, @return audit (#33) 2026-02-25 20:37:50 -05:00
store.lua feat: :Pending edit command for CLI metadata editing (#41) 2026-02-26 16:34:07 -05:00
textobj.lua feat: text objects and motions for the pending buffer (#39) 2026-02-26 16:28:58 -05:00
views.lua feat: statusline API, counts, and PendingStatusChanged event (#40) 2026-02-26 16:30:06 -05:00