# pending.nvim **Edit tasks like text.** Oil-like task management for todos in Neovim, inspired by [oil.nvim](https://github.com/stevearc/oil.nvim) and [vim-fugitive](https://github.com/tpope/vim-fugitive) https://github.com/user-attachments/assets/f3898ecb-ec95-43fe-a71f-9c9f49628ba9 ## Features - Oil-style buffer editing: standard Vim motions for all task operations - Inline metadata: `due:`, `cat:`, `rec:` tokens parsed on `:w` - Rich date input: relative (`+3d`, `tomorrow`), weekdays, ordinals, custom formats, time suffixes - Recurring tasks with automatic next-date spawning on completion - Category and queue views with foldable sections - Multi-level undo (up to 20 saves, persisted across sessions) - Text objects (`at`/`it`/`aC`/`iC`) and motions (`]]`/`[[`/`]t`/`[t`) - Omnifunc completion for `due:`, `cat:`, and `rec:` tokens - Filters: `cat:X`, `overdue`, `today`, `priority`, `wip`, `blocked` - Google Calendar one-way push via OAuth PKCE - Google Tasks bidirectional sync via OAuth PKCE - S3 whole-store sync via AWS CLI with cross-device merge - Auto-authentication: sync actions trigger auth flows automatically ## Requirements - Neovim 0.10+ - (Optionally) `curl` for Google Calendar and Google Tasks sync - (Optionally) `aws` CLI for S3 sync ## Installation Install with your package manager of choice or via [luarocks](https://luarocks.org/modules/barrettruth/pending.nvim): ``` luarocks install pending.nvim ``` ## Documentation ```vim :help pending.nvim ``` ## Acknowledgements - [dooing](https://github.com/atiladefreitas/dooing) - [todo-comments.nvim](https://github.com/folke/todo-comments.nvim) - [todotxt.nvim](https://github.com/arnarg/todotxt.nvim)