No description
Find a file
Barrett Ruth 0163941a2b
fix(sync): trigger auth then resume operation when not authenticated (#69)
* fix(sync): trigger auth then resume operation when not authenticated

Problem: `get_access_token()` called `auth()` then immediately tried to
load tokens, but `auth()` is async (TCP server + browser redirect), so
tokens were never present at that point. All sync operations silently
aborted when unauthenticated.

Solution: Remove the inline auth attempt from `get_access_token()` and
add an `on_complete` callback to `auth()` / `_exchange_code()`. Add a
`with_token(callback)` helper in `gtasks.lua` and `gcal.lua` that
triggers auth with the sync operation as the continuation, so
`push`/`pull`/`sync` resume automatically after the OAuth flow
completes.

* ci: format
2026-03-05 13:24:43 -05:00
.github doc: minify readme (#24) 2026-02-25 09:40:06 -05:00
doc fix(diff): preserve due/rec when absent from buffer line (#68) 2026-03-05 12:46:54 -05:00
lua/pending fix(sync): trigger auth then resume operation when not authenticated (#69) 2026-03-05 13:24:43 -05:00
plugin fix(diff): preserve due/rec when absent from buffer line (#68) 2026-03-05 12:46:54 -05:00
scripts fix: harden sync backends and fix edit recompute (#66) 2026-03-05 11:50:13 -05:00
spec fix(diff): preserve due/rec when absent from buffer line (#68) 2026-03-05 12:46:54 -05:00
syntax refactor: adopt markdown-style checkbox buffer format (#20) 2026-02-24 23:21:55 -05:00
.busted build: add tooling and dev environment configs 2026-02-24 15:08:44 -05:00
.editorconfig build: initial repo scaffold 2026-02-24 15:08:35 -05:00
.gitignore fix: harden sync backends and fix edit recompute (#66) 2026-03-05 11:50:13 -05:00
.luarc.json refactor(config): default icons to ascii (#55) 2026-03-04 17:49:30 -05:00
.pre-commit-config.yaml ci: format 2026-02-24 15:17:24 -05:00
flake.lock build: add tooling and dev environment configs 2026-02-24 15:08:44 -05:00
flake.nix ci: nix 2026-03-04 14:07:04 -05:00
LICENSE build: initial repo scaffold 2026-02-24 15:08:35 -05:00
pending.nvim-scm-1.rockspec feat: rename 2026-02-24 15:21:44 -05:00
README.md fix: harden sync backends and fix edit recompute (#66) 2026-03-05 11:50:13 -05:00
selene.toml build: add tooling and dev environment configs 2026-02-24 15:08:44 -05:00
stylua.toml build: add tooling and dev environment configs 2026-02-24 15:08:44 -05:00
vim.yaml build: add tooling and dev environment configs 2026-02-24 15:08:44 -05:00

pending.nvim

Edit tasks like text. :w saves them.

demo

Requirements

  • Neovim 0.10+
  • (Optionally) curl for Google Calendar and Google Task sync

Installation

Install with your package manager of choice or via luarocks:

luarocks install pending.nvim

Documentation

:help pending.nvim

Icons

All display characters are configurable. Defaults produce markdown-style checkboxes ([ ], [x], [!]):

vim.g.pending = {
  icons = {
    pending = ' ', done = 'x', priority = '!',
    due = '.', recur = '~', category = '#',
  },
}

See :help pending.Icons for nerd font examples.

Acknowledgements