No description
* fix(buffer): keep conceal active in all modes and add `%l` EOL forge labels Problem: `concealcursor` was missing `i` and `v`, so concealed text (task IDs, forge tokens) leaked in insert and visual modes. Forge labels only rendered for the first span when multiple refs existed. Solution: set `concealcursor = 'nicv'` to keep conceal in all modes. Add `%l` EOL format specifier that renders all forge spans with independent highlights. Update default `eol_format` to include `%l`. * refactor: remove `- ` prefix from task line rendering Problem: task lines rendered as `- [ ] description` with a redundant markdown list marker prefix that added visual noise. Solution: render task lines as `[ ] description` instead. Update all line generation in `views.lua`, parsing patterns in `buffer.lua`, `diff.lua`, `textobj.lua`, syntax rules, and corresponding specs. |
||
|---|---|---|
| .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