pending.nvim/README.md
Barrett Ruth e9796cbce3 docs: document S3 backend, auto-auth, and :Pending done command
Problem: The S3 backend had no `:Pending s3` entry in the COMMANDS
section, `:Pending auth` only mentioned Google, the `sync` config
field omitted `s3`, `_s3_sync_id` was missing from the data format
section, `:Pending done` was implemented but undocumented, and the
README lacked a features overview.

Solution: Add `:Pending s3` and `:Pending done` command docs, rewrite
`:Pending auth` to cover all backends and sub-actions, update config
and data format references, add `aws` CLI to requirements, and add a
Features section to `README.md`.
2026-03-10 12:16:02 -04:00

52 lines
1.7 KiB
Markdown

# 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)