No description
Problem: `parse.body()` scans tokens right-to-left and breaks on the first non-metadata token. Forge refs like `gl:a/b#12` halted the scan, preventing metadata tokens to their left (e.g. `due:tomorrow`) from being parsed. Additionally, `diff.parse_buffer()` ignored `metadata.priority` from `+!!` tokens and only used checkbox-derived priority, and priority updates between two non-zero values were silently skipped. Solution: Recognize forge ref tokens via `forge.parse_ref()` during the right-to-left scan and skip past them, re-appending them to the description so `forge.find_refs()` still works. Prefer `metadata.priority` over checkbox priority in `parse_buffer()`, and simplify the priority update condition to catch all value changes. |
||
|---|---|---|
| .github | ||
| doc | ||
| lua/pending | ||
| plugin | ||
| scripts | ||
| spec | ||
| syntax | ||
| .busted | ||
| .editorconfig | ||
| .gitignore | ||
| .luarc.json | ||
| .pre-commit-config.yaml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| pending.nvim-scm-1.rockspec | ||
| README.md | ||
| selene.toml | ||
| stylua.toml | ||
| vim.yaml | ||
pending.nvim
Edit tasks like text.
Oil-like task management for todos in Neovim, inspired by oil.nvim and 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:, andrec: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
- Forge links: reference GitHub/GitLab/Codeberg issues and PRs inline
Requirements
- Neovim 0.10+
- (Optionally)
curlfor Google Calendar and Google Tasks sync - (Optionally)
awsCLI for S3 sync
Installation
Install with your package manager of choice or via luarocks:
luarocks install pending.nvim
Documentation
:help pending.nvim