A simple and efficient todo management plugin for Neovim.
- Create and manage todos with descriptions
- Add tags, priorities, and due dates
- Sort and filter todos
- View todo statistics
- Automatic description preview when hovering over todos
- Simple and intuitive interface
- Neovim >= 0.7.0
Using lazy.nvim:
{
"idohaber/todo.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
require("todo").setup()
end,
}
:TodoOpen
- Open the todo list window:TodoAdd
- Add a new todo:TodoStats
- Show todo statistics
<leader>to
- Open todo list<leader>ta
- Add new todo<leader>ts
- Show todo statistics
a
- Add new todod
- Delete todo under cursorc
- Complete todo under cursore
- Edit todo under cursort
- Edit tagsp
- Set priorityD
- Set due dates
- Sort todosf
- Filter todosq
- Close todo windowh
- Show help
When you hover over a todo item that has a description, the description will automatically appear as an indented line below the todo item. The description is highlighted in the Comment highlight group for better visibility.
require("todo").setup({
-- Default configuration
mappings = {
open = "<leader>to",
add = "<leader>ta",
delete = "d",
complete = "c",
edit = "e",
tags = "t",
priority = "p",
due_date = "D",
sort = "s",
filter = "f",
close = "q",
},
})
The statistics window shows:
- Total number of todos
- Number of completed todos with percentage
- Number of pending todos
- Number of high priority todos
- Number of overdue todos
- Number of todos completed today
- Statistics by project
- Statistics by tag
Contributions are welcome! Please feel free to submit a Pull Request.
MIT