
obsidian-tasks.nvim, a plugin for creating task dashboards for obsidian.nvim
i've been using obsidian.nvim for a bit now which defaults to a zettelkasten method for storing notes. i actually love it, but the one thing i didn't love is that i like putting todo's in my notes and dailies and then they end up scattered all over my vaults.
i found the solution for that in the desktop obsidian app, the popular community plugin obsidian-tasks, which allows you to creates queries in notes that pull in tasks from across the whole vault so you can see them all in one place prioritized and organized; essentially making task dashboards. now i just litter my notes with tasks and can view them consolidated in a single view.
however, there wasn't a plugin for neovim... so i've ported it myself (using claude). so far i think it's going well; at least the implementation. the hardest part has actually been figuring out how to make it most usable in a "neovim" way since i've only been using neovim for about a year now (if that). i think my plugin has the spirit of how it should work in neovim...? but i'm not really sure tbh.
if this is useful for you i'd love if you gave it a try and even more would love if you had suggestions of how to improve it or make it more like a neovim plugin should be (this is the first plugin i've created).
i've been using it for a bit now so it's useable and has good tests. it basically activates for any markdown file that is in an obsidian vault. it reads `tasks` code fences as queries and renders the result into the buffer. saving the buffer only writes the query, not the rendered tasks, to your note. it supports editing the notes in-place in the dashboard (this was actually quite difficult to get right, and still might have some edge cases i haven't considered) and propagating those changes to the source notes. it also has some completions for tagging and attaching metadata to tasks.
so far i've been keeping query syntax parity with the community obsidian-tasks plugin so your notes should be cross-compatible _except_ for any that use javascript functions. i don't have a javascript runtime for the plugin setup but i'm planning to implement something of that sort in v2 to support the js queries and some advanced features like recurring tasks (the community plugin uses a js library for this).
let me know what you think! https://github.com/snapwich/obsidian-tasks.nvim