Commit graph

8 commits

Author SHA1 Message Date
049e77a4fb feat(buffer): add scratch buffer with concealment and extmarks
Problem: need a buffer to display tasks with concealed IDs,
virtual text due dates, strikethrough for done items, and
auto-indent.

Solution: add buffer module with acwrite scratch buffer, syntax
conceal for /id/ prefixes, right-aligned due date extmarks,
header/done highlighting, indentexpr, and view toggling.
2026-02-24 15:09:29 -05:00
a0cbca6db5 feat(views): add category and priority view renderers
Problem: need to render task lists grouped by category or sorted
by priority with concealed IDs and metadata.

Solution: add category_view and priority_view functions that
produce buffer lines with hidden /id/ prefixes, priority flags,
and line metadata for extmark placement.
2026-02-24 15:09:22 -05:00
a8eaa27106 feat(parse): add inline metadata parser
Problem: need to extract due dates and categories from task
descriptions typed in the buffer.

Solution: add right-to-left token parser for configurable date
syntax (default 'due:') and cat: metadata keys. Supports
Category: prefix syntax for :Todo add commands.
2026-02-24 15:09:15 -05:00
607a9868d9 feat(store): add JSON data store with CRUD operations
Problem: need persistent task storage with forward-compatible
schema and unknown field preservation.

Solution: add store module with load/save, add/update/delete,
ID allocation, and UDA round-trip preservation. Data stored at
stdpath('data')/todo/tasks.json with version 1 schema.
2026-02-24 15:09:07 -05:00
116e3c5b25 feat(config): add configuration module
Problem: need user-configurable settings with sensible defaults.

Solution: add config module that merges vim.g.todo with defaults
for data_path, default_view, default_category, date_format, and
date_syntax.
2026-02-24 15:08:59 -05:00
be31f95551 ci: add GitHub workflows and issue templates
Problem: need CI for tests, quality checks, luarocks publishing,
and structured issue/discussion templates.

Solution: add test, quality, and luarocks workflows mirroring
diffs.nvim conventions. Add bug report, feature request, and
Q&A templates.
2026-02-24 15:08:53 -05:00
b617ee284e build: add tooling and dev environment configs
Problem: need formatting, linting, testing, and nix dev shell configs.

Solution: add stylua, selene, lua-language-server, busted, pre-commit,
flake.nix, and luarocks rockspec configuration.
2026-02-24 15:08:44 -05:00
717a6133cd build: initial repo scaffold
Problem: need project foundation files.

Solution: add MIT license, gitignore, and editorconfig.
2026-02-24 15:08:35 -05:00