mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-26 23:16:46 +00:00
50 lines
1.5 KiB
Nix
50 lines
1.5 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib) mkMerge mkBinding mkIf;
|
|
|
|
cfg = config.vim.notes.todo-comments;
|
|
self = import ./todo-comments.nix {inherit lib;};
|
|
mappings = self.options.vim.notes.todo-comments.mappings;
|
|
in {
|
|
config = mkIf (cfg.enable) {
|
|
vim.startPlugins = [
|
|
"todo-comments"
|
|
];
|
|
|
|
vim.maps.normal = mkMerge [
|
|
(mkBinding cfg.mappings.quickFix ":TodoQuickFix<CR>" mappings.quickFix.description)
|
|
(mkIf config.vim.telescope.enable (mkBinding cfg.mappings.telescope ":TodoTelescope<CR>" mappings.telescope.description))
|
|
(mkIf config.vim.lsp.trouble.enable (mkBinding cfg.mappings.trouble ":TodoTrouble<CR>" mappings.trouble.description))
|
|
];
|
|
|
|
vim.luaConfigRC.todo-comments = ''
|
|
require('todo-comments').setup {
|
|
highlight = {
|
|
before = "", -- "fg" or "bg" or empty
|
|
keyword = "bg", -- "fg", "bg", "wide" or empty
|
|
after = "fg", -- "fg" or "bg" or empty
|
|
pattern = ${cfg.patterns.highlight},
|
|
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
|
|
},
|
|
search = {
|
|
command = "${pkgs.ripgrep}/bin/rg",
|
|
args = {
|
|
"--color=never",
|
|
"--no-heading",
|
|
"--with-filename",
|
|
"--line-number",
|
|
"--column",
|
|
},
|
|
pattern = ${cfg.patterns.search},
|
|
},
|
|
}
|
|
'';
|
|
};
|
|
}
|