aboutsummaryrefslogtreecommitdiffstats
path: root/nvim/lua/plugins/todos.lua
blob: 1e5d4ad4cace79251f2810850c55cf2944d96013 (plain) (blame)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
return {
    'folke/todo-comments.nvim',
    dependencies = { "nvim-lua/plenary.nvim", "folke/trouble.nvim" },
    opts = {},
    cmd = {
        'TodoQuickFix',
        'TodoLocList',
        'TodoTrouble',
        'TodoTelescope'
    },
    keys = {
        {
            "<leader>tf",
            function()
                local trouble = require("trouble")
                local opts = {
                    mode = "todo",
                    focus = true,
                    follow = false
                }
                if trouble.is_open(opts) then
                    if vim.o.ft == "trouble" then
                        trouble.close(opts)
                    else
                        trouble.focus()
                    end
                else
                    trouble.open(opts)
                end
            end,
            mode = 'n',
            desc = "Open todo comments in a trouble window"
        },
        {
            "<leader>tF",
            function()
                local trouble = require("trouble")
                local opts = {
                    mode = "todo",
                    focus = true,
                    follow = false,
                    filter = { buf = 0 }
                }
                if trouble.is_open(opts) then
                    if vim.o.ft == "trouble" then
                        trouble.close(opts)
                    else
                        trouble.focus()
                    end
                else
                    trouble.open(opts)
                end
            end,
            mode = 'n',
            desc = "Open buffer local todo comments in a trouble window"
        },
        {
            "<leader>tq",
            "<cmd>TodoQuickFix<cr>",
            mode = 'n',
            desc = "Quickfix List (Todo Comments)"
        },
        {
            "<leader>tl",
            "<cmd>TodoLocList<cr>",
            mode = 'n',
            desc = "Location List (Todo Comments)"
        },
        {
            "]t",
            function()
                require('trouble').next({ mode = "todo", jump = true })
            end,
            mode = 'n',
            desc = "Next todo comment"
        },
        {
            "[t",
            function()
                require('trouble').prev({ mode = "todo", jump = true })
            end,
            mode = 'n',
            desc = "Previous todo comment"
        },
        {
            "<leader>ft",
            "<cmd>TodoTelescope<cr>",
            mode = 'n',
            desc = "Open Todos in quickfix list"
        }
    }
}