-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
todo.lua
93 lines (81 loc) · 3.28 KB
/
todo.lua
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
93
local M = {
'folke/todo-comments.nvim',
id = 'todo',
keymaps = {
-- You can override it with ':TodoTelescope<CR>' if you prefer Telescope.
{ 'n', '<space>T', ':TodoTrouble<CR>' },
},
config = function(config)
local has_t, telescope = pcall(require, 'telescope')
if has_t then
telescope.setup({
extensions = {
todo = { --
layout_strategy = 'vertical',
layout_config = { width = 0.8 },
},
},
})
end
require('todo-comments').setup(config.todo)
end,
}
M.defaultConfig = {
'todo',
{
signs = false, -- show icons in the signs column
sign_priority = 8, -- sign priority
-- keywords recognized as todo comments
keywords = {
FIX = {
icon = ' ', -- icon used for the sign, and in search results
color = 'error', -- can be a hex color, or a named color (see below)
alt = { 'Fix', 'Bug', 'Issue', 'FIXME', 'BUG', 'FIXIT', 'ISSUE' }, -- a set of other keywords that all map to this FIX keywords
-- signs = false, -- configure signs for some keywords individually
},
TODO = { icon = '', color = 'info', alt = { 'Todo' } },
HACK = { icon = '', color = 'warning', alt = { 'Hack' } },
WARN = { icon = '', color = 'warning', alt = { 'Warn', 'WARNING', 'XXX' } },
PERF = { icon = '', alt = { 'Perf', 'OPTIM', 'PERFORMANCE', 'OPTIMIZE' } },
NOTE = { icon = '', color = 'hint', alt = { 'Note', 'INFO', 'Info' } },
TEST = { icon = '', color = 'test', alt = { 'Test', 'TESTING', 'PASSED', 'FAILED' } },
},
gui_style = {
fg = 'NONE', -- The gui style to use for the fg highlight group.
bg = 'BOLD', -- The gui style to use for the bg highlight group.
},
merge_keywords = true, -- when true, custom keywords will be merged with the defaults
-- highlighting of the line containing the todo comment
-- * before: highlights before the keyword (typically comment characters)
-- * keyword: highlights of the keyword
-- * after: highlights after the keyword (todo text)
highlight = {
-- NOTE: dsad
before = '', -- "fg" or "bg" or empty
keyword = 'wide', -- "fg", "bg", "wide" or empty. (wide is the same as bg, but will also highlight surrounding characters)
after = 'fg', -- "fg" or "bg" or empty
pattern = [[.*<(KEYWORDS)\s*:]], -- pattern or table of patterns, used for highlightng (vim regex)
comments_only = true, -- uses treesitter to match keywords in comments only
max_line_len = 400, -- ignore lines longer than this
exclude = {}, -- list of file types to exclude highlighting
},
-- list of named colors where we try to extract the guifg from the
-- list of hilight groups or use the hex color if hl not found as a fallback
colors = {
error = { 'DiagnosticError', 'ErrorMsg', '#DC2626' },
warning = { 'DiagnosticWarning', 'WarningMsg', '#FBBF24' },
info = { 'DiagnosticInfo', '#2563EB' },
hint = { 'DiagnosticHint', '#10B981' },
default = { 'Identifier', '#7C3AED' },
},
search = {
command = 'rg',
args = { '--color=never', '--no-heading', '--with-filename', '--line-number', '--column' },
-- regex that will be used to match keywords.
-- don't replace the (KEYWORDS) placeholder
pattern = [[\b(KEYWORDS):]], -- ripgrep regex
-- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon. You'll likely get false positives
},
},
}
return M