diff options
| author | Kyren223 <kyren223@proton.me> | 2025-08-01 15:32:37 +0300 |
|---|---|---|
| committer | Kyren223 <kyren223@proton.me> | 2025-08-01 15:32:37 +0300 |
| commit | f1c40fbd6603d85d66c94965f1c329bd3c07d402 (patch) | |
| tree | e7cf62a8655c491157e9486c14205747ef3f0a6e /.config/nvim | |
| parent | 6403801f5e501386ec6f2bdd328139e25cdba981 (diff) | |
Configured todo comments in nvim
Diffstat (limited to '.config/nvim')
| -rw-r--r-- | .config/nvim/lua/plugins/todo-comments.lua | 89 | ||||
| -rw-r--r-- | .config/nvim/queries/bash/highlights.scm (renamed from .config/nvim/after/queries/bash/highlights.scm) | 0 | ||||
| -rw-r--r-- | .config/nvim/queries/comment/highlights.scm | 60 | ||||
| -rw-r--r-- | .config/nvim/queries/go/injections.scm (renamed from .config/nvim/after/queries/go/injections.scm) | 0 | ||||
| -rw-r--r-- | .config/nvim/queries/go/locals.scm (renamed from .config/nvim/after/queries/go/locals.scm) | 0 |
5 files changed, 95 insertions, 54 deletions
diff --git a/.config/nvim/lua/plugins/todo-comments.lua b/.config/nvim/lua/plugins/todo-comments.lua index 5518f03..25a6330 100644 --- a/.config/nvim/lua/plugins/todo-comments.lua +++ b/.config/nvim/lua/plugins/todo-comments.lua @@ -1,17 +1,19 @@ -- NORMAL: lorem ipsum --- T ODO: lorem ipsum --- F IX: lorem ipsum --- O PTIMIZE: lorem ipsum --- W ARN: lorem ipsum --- P ERF: lorem ipsum --- H ACK: lorem ipsum --- N OTE: lorem ipsum --- T EST: lorem ipsum --- U NSAFE: lorem ipsum --- T ODO(kyren223): lorem ipsum --- N OTE:(broken) lorem ipsum --- t odo!(a); --- t odo!(aaa); +-- TODO: lorem ipsum +-- FIX: lorem ipsum +-- OPTIMIZE: lorem ipsum +-- WARN: lorem ipsum +-- PERF: lorem ipsum +-- HACK: lorem ipsum +-- NOTE: lorem ipsum +-- TEST: lorem ipsum +-- UNSAFE: lorem ipsum +-- TODO(kyren223): lorem ipsum +-- NOTE:(broken) lorem ipsum +-- todo!(a); +-- todo!(aaa); +-- Test +-- TODO: blabla return { 'folke/todo-comments.nvim', @@ -25,7 +27,7 @@ return { layout = 'telescope', follow = true, hidden = true, - keywords = { 'TODO', 'FIX', 'FIXME', 'BUG', 'ISSUE', 'OPTIMIZE' }, + keywords = { 'TODO', 'WIP', 'FIX', 'FIXME', 'BUG', 'OPTIMIZE', 'SECURE' }, }) end, desc = '[S]earch [T]odos', @@ -43,55 +45,34 @@ return { }, }, opts = { - signs = false, -- show icons in the signs column - sign_priority = 8, -- sign priority + signs = false, keywords = { -- These are "todos" - TODO = { icon = ' ', color = 'info', alt = { 'todo' } }, - FIX = { icon = ' ', color = 'error', alt = { 'FIXME', 'BUG', 'ISSUE' } }, - OPTIMIZE = { icon = ' ', color = 'performance' }, + TODO = { icon = ' ', color = 'todo', alt = { 'WIP' } }, + FIX = { icon = ' ', color = 'error', alt = { 'FIXME', 'BUG' } }, + OPTMZE = { icon = ' ', color = 'perf', alt = { 'OPTIMIZE' } }, + SECURE = { icon = ' ', color = 'warning' }, -- These are "notes" - WARN = { icon = ' ', color = 'warning', alt = { 'WARNING' } }, - PERF = { icon = ' ', color = 'performance', alt = { 'PERFORMANCE' } }, - HACK = { icon = ' ', color = 'warning', alt = { 'SMELL', 'CODE SMELL', 'BAD', 'BAD PRACTICE' } }, - NOTE = { icon = ' ', color = 'hint', alt = { 'INFO' } }, - TEST = { icon = ' ', color = 'test', alt = { 'TESTING', 'PASSED', 'FAILED' } }, + NOTE = { icon = ' ', color = 'note', alt = { 'INFO', 'DOCS' } }, + TEST = { icon = ' ', color = 'note' }, + WARN = { icon = ' ', color = 'warning', alt = { 'WARNING', 'SECURITY' } }, + HACK = { icon = ' ', color = 'warning' }, + PERF = { icon = ' ', color = 'perf' }, UNSAFE = { icon = ' ', color = 'error', alt = { 'SAFETY' } }, }, - gui_style = { - fg = 'NONE', - bg = 'BOLD', - }, - 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 = { - multiline = true, - multiline_pattern = '^.', -- lua pattern to match the next multiline from the start of the matched keyword - multiline_context = 10, -- extra lines that will be re-evaluated when changing a line before = '', -- "fg" or "bg" or empty - keyword = 'wide', -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg) - after = 'fg', -- "fg" or "bg" or empty - pattern = { - [[.*<((KEYWORDS)%(\(.{-1,}\))?):]], - [[((KEYWORDS)!%(\(.{-}\))?)]], - }, -- pattern or table of patterns, used for highlighting (vim regex) + keyword = '', -- "wide" or empty + after = '', -- "fg" or empty + pattern = { [[.*<((KEYWORDS)%(\(.{-1,}\))?):]] }, -- vim regex comments_only = false, - max_line_len = 400, - exclude = {}, -- list of excluded filetypes }, - -- list of named colors where we try to extract the gui fg from the - -- list of highlight groups or use the hex color if hl not found as a fallback colors = { - default = { 'Identifier', '#7C3AED' }, - error = { 'DiagnosticError', 'ErrorMsg', '#DC2626' }, - warning = { 'DiagnosticWarn', 'WarningMsg', '#FBBF24' }, - info = { 'DiagnosticInfo', '#2563EB' }, - hint = { '#10B981' }, - test = { 'Identifier', '#FF00FF' }, - performance = { '#7C3AED' }, + todo = { '@comment.todo' }, + note = { '@comment.todo' }, + warning = { '@comment.warning' }, + error = { '@comment.error' }, + perf = { '@comment.perf' }, }, search = { command = 'rg', @@ -104,7 +85,7 @@ return { '--hidden', -- show todos in hidden directories and files '--follow', -- follow symlinks }, - search = { pattern = [[\b(KEYWORDS)(\([^\)]*\))?:]] }, + pattern = [[\b(KEYWORDS)\s*(\([^\)]*\))?\s*:]], }, }, } diff --git a/.config/nvim/after/queries/bash/highlights.scm b/.config/nvim/queries/bash/highlights.scm index b7e6b17..b7e6b17 100644 --- a/.config/nvim/after/queries/bash/highlights.scm +++ b/.config/nvim/queries/bash/highlights.scm diff --git a/.config/nvim/queries/comment/highlights.scm b/.config/nvim/queries/comment/highlights.scm new file mode 100644 index 0000000..133b405 --- /dev/null +++ b/.config/nvim/queries/comment/highlights.scm @@ -0,0 +1,60 @@ +((tag + (name) @comment.todo @nospell + ("(" @punctuation.bracket + (user) @constant + ")" @punctuation.bracket)? + ":" @punctuation.delimiter) + (#any-of? @comment.todo "TODO" "WIP")) + +("text" @comment.todo @nospell + (#any-of? @comment.todo "TODO" "WIP")) + +((tag + (name) @comment.note @nospell + ("(" @punctuation.bracket + (user) @constant + ")" @punctuation.bracket)? + ":" @punctuation.delimiter) + (#any-of? @comment.note "NOTE" "INFO" "DOCS" "TEST")) + +("text" @comment.note @nospell + (#any-of? @comment.note "NOTE" "INFO" "DOCS" "TEST")) + +((tag + (name) @comment.perf @nospell + ("(" @punctuation.bracket + (user) @constant + ")" @punctuation.bracket)? + ":" @punctuation.delimiter) + (#any-of? @comment.perf "PERF" "OPTIMIZE")) + +("text" @comment.perf @nospell + (#any-of? @comment.perf "PERF" "OPTIMIZE")) + +((tag + (name) @comment.warning @nospell + ("(" @punctuation.bracket + (user) @constant + ")" @punctuation.bracket)? + ":" @punctuation.delimiter) + (#any-of? @comment.warning "HACK" "WARNING" "WARN" "SECURITY" "SECURE")) + +("text" @comment.warning @nospell + (#any-of? @comment.warning "HACK" "WARNING" "WARN" "SECURITY" "SECURE")) + +((tag + (name) @comment.error @nospell + ("(" @punctuation.bracket + (user) @constant + ")" @punctuation.bracket)? + ":" @punctuation.delimiter) + (#any-of? @comment.error "FIXME" "FIX" "BUG" "ERROR" "UNSAFE" "SAFETY")) + +("text" @comment.error @nospell + (#any-of? @comment.error "FIXME" "FIX" "BUG" "ERROR" "UNSAFE" "SAFETY")) + +; Issue number (#123) +("text" @number + (#lua-match? @number "^#[0-9]+$")) + +(uri) @string.special.url @nospell diff --git a/.config/nvim/after/queries/go/injections.scm b/.config/nvim/queries/go/injections.scm index 5d5affc..5d5affc 100644 --- a/.config/nvim/after/queries/go/injections.scm +++ b/.config/nvim/queries/go/injections.scm diff --git a/.config/nvim/after/queries/go/locals.scm b/.config/nvim/queries/go/locals.scm index 9232669..9232669 100644 --- a/.config/nvim/after/queries/go/locals.scm +++ b/.config/nvim/queries/go/locals.scm |
