A Neovim plugin for managing worklog tasks directly from your editor.
- ✅ Add tasks to your worklog without leaving Neovim
- ✅ Mark tasks as completed by selecting them in the picker
- ✅ View today's tasks in a picker interface
- ✅ Fully async operations using Neovim's job API
- ✅ Uses JSON API for clean, reliable task parsing
- Neovim 0.7.0 or higher
- worklog CLI tool installed and in your PATH
{
"sandepten/worklog.nvim",
lazy = false,
config = function()
require("worklog").setup({
-- Optional: disable keybindings
-- keybindings = false,
-- Optional: customize keybindings
-- keymaps = {
-- add = "<leader>wa",
-- list = "<leader>wl",
-- },
})
end,
}use({
"sandepten/worklog.nvim",
config = function()
require("worklog").setup()
end,
})Plug 'sandepten/worklog.nvim'Then in your init.lua or init.vim:
require("worklog").setup():WorklogAdd- Add a new task to today's worklog:WorklogList- List today's tasks in a picker interface (select tasks to mark as done)
By default, the following keybindings are enabled:
<leader>wa- Add a new task<leader>wl- List today's tasks
To disable keybindings:
require("worklog").setup({
keybindings = false,
})To customize keybindings:
require("worklog").setup({
keymaps = {
add = "<leader>ta", -- Custom add keybinding
list = "<leader>tl", -- Custom list keybinding
},
})The plugin works out of the box with default settings. All configuration is optional:
require("worklog").setup({
-- Disable automatic keybindings
keybindings = false,
-- Custom keybindings
keymaps = {
add = "<leader>wa",
list = "<leader>wl",
},
})- Add a task: Run
:WorklogAddor press<leader>wa, then enter your task description - View and mark tasks as done: Run
:WorklogListor press<leader>wlto see all tasks in a picker interface. Select a pending task to mark it as done.
- worklog - The CLI tool this plugin integrates with
MIT