No description
Find a file
Barrett Ruth 87679e9857 fix(diff): preserve due/rec when absent from buffer line
Problem: `diff.apply` overwrites `task.due` and `task.recur` with `nil`
whenever those fields aren't present as inline tokens in the buffer line.
Because metadata is rendered as virtual text (never in the line text),
every description edit silently clears due dates and recurrence rules.

Solution: Only update `due`, `recur`, and `recur_mode` in the existing-
task branch when the parsed entry actually contains them (non-nil). Users
can still set/change these inline by typing `due:<date>` or `rec:<rule>`;
clearing them requires `:Pending edit <id> -due`.
2026-03-05 12:18:57 -05:00
.github doc: minify readme (#24) 2026-02-25 09:40:06 -05:00
doc docs: update vimdoc for sync refactor, remove demo scripts 2026-03-05 11:24:43 -05:00
lua/pending fix(diff): preserve due/rec when absent from buffer line 2026-03-05 12:18:57 -05:00
plugin refactor: formatting fixes, config cleanup, health simplification 2026-03-05 11:24:36 -05:00
scripts docs: update vimdoc for sync refactor, remove demo scripts 2026-03-05 11:24:43 -05:00
spec fix(diff): preserve due/rec when absent from buffer line 2026-03-05 12:18:57 -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 docs: update vimdoc for sync refactor, remove demo scripts 2026-03-05 11:24:43 -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 docs: update vimdoc for sync refactor, remove demo scripts 2026-03-05 11:24:43 -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