summaryrefslogtreecommitdiff
path: root/config/nvim/lua/plugins/checkmate.lua
blob: 8cdebda4b1b69f55f1114ce3b8a52dc7585d4aa7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
return {
  "bngarren/checkmate.nvim",
  ft = { "markdown", "md" },
  opts = {
    files = { "*.md" },
    default_list_marker = "-",
    todo_states = {
      unchecked = { marker = "□", order = 1 },
      checked = { marker = "✔", order = 2 },
    },
    archive = {
      heading = { level = 2, title = "Archive" },
      newest_first = true,
      parent_spacing = 0,
    },
    enter_insert_after_new = true,
    use_metadata_keymaps = true,
    smart_toggle = {
      enabled = true,
      include_cycle = false,
      check_down = "direct_children",
      uncheck_down = "none",
      check_up = "direct_children",
      uncheck_up = "direct_children",
    },
    show_todo_count = true,
    todo_count_position = "eol",
    todo_count_recursive = true,
  },
  keys = {
    { "<leader>X", "<cmd>Checkmate toggle<CR>", desc = "Toggle todo item", mode = "n" },
    { "<leader>C", "<cmd>Checkmate check<CR>", desc = "Check todo item", mode = "n" },
    { "<leader>U", "<cmd>Checkmate uncheck<CR>", desc = "Uncheck todo item", mode = "n" },
    { "<leader>N", "<cmd>Checkmate create<CR>", desc = "Create todo item", mode = "n" },
    { "<leader>A", "<cmd>Checkmate archive<CR>", desc = "Archive completed items", mode = "n" },

    { "<leader>R", "<cmd>Checkmate remove<CR>", desc = "Remove todo marker", mode = "n" },
    { "<leader>F", "<cmd>Checkmate select_todo<CR>", desc = "Select todo", mode = "n" },
  },
}