vim.pack.add({ { src = "https://github.com/phrmendes/todotxt.nvim" }, }) require("todotxt").setup({ todotxt = vim.env.HOME .. "/docs/sb/todo/todo.txt", donetxt = vim.env.HOME .. "/docs/sb/todo/done.txt", ghost_text = { enable = true, mappings = { ["(A)"] = "now", -- High priority tasks ["(B)"] = "next", -- Medium priority tasks ["(C)"] = "today", -- Lower priority tasks ["(D)"] = "tomorrow", -- Even lower priority ["(E)"] = "this week", ["(F)"] = "next week", }, prefix = " ", -- Text prefix highlight = "Comment", -- Highlight group } }) vim.filetype.add({ filename = { ["todo.txt"] = "todotxt", ["done.txt"] = "todotxt", }, }) vim.keymap.set("n", "tn", "TodoTxt new", { desc = "New todo entry" }) vim.keymap.set("n", "tt", "TodoTxt", { desc = "Toggle todo.txt" }) vim.keymap.set("n", "td", "DoneTxt", { desc = "Toggle done.txt" }) vim.keymap.set("n", "tg", "TodoTxt ghost", { desc = "Toggle ghost text" }) vim.keymap.set("n", "", "(TodoTxtToggleState)", { desc = "Toggle task state" }) vim.keymap.set("n", "n", "(TodoTxtCyclePriority)", { desc = "Cycle priority" }) vim.keymap.set("n", "tm", "(TodoTxtMoveDone)", { desc = "Move done tasks" }) vim.keymap.set("n", "tss", "(TodoTxtSortTasks)", { desc = "Sort tasks (default)" }) vim.keymap.set("n", "tsp", "(TodoTxtSortByPriority)", { desc = "Sort by priority" }) vim.keymap.set("n", "tsc", "(TodoTxtSortByContext)", { desc = "Sort by context" }) vim.keymap.set("n", "tsP", "(TodoTxtSortByProject)", { desc = "Sort by project" }) vim.keymap.set("n", "tsd", "(TodoTxtSortByDueDate)", { desc = "Sort by due date" })