如何在LunarVim中通过Treesitter永久高亮TODO注释?
解决LunarVim中Treesitter注释TODO高亮永久生效问题
问题背景
在LunarVim中使用Treesitter高亮注释内的TODO内容时,手动执行:hi link @text.note Todo可临时生效,但重启Vim后高亮组会被重置,需要配置让该高亮规则自动应用。
解决方案
1. 确保comment Treesitter解析器自动安装
在LunarVim配置文件中,将comment添加到Treesitter的自动安装列表,LunarVim会自动维护该解析器,无需手动执行TSInstall comment:
lvim.builtin.treesitter.ensure_installed = { "bash", "c", "javascript", "json", "lua", "python", "typescript", "tsx", "css", "rust", "java", "yaml", "comment", -- 新增此行 }
2. 配置自动应用高亮链接
LunarVim加载配色方案时会重置所有高亮组,直接在配置末尾设置高亮会被覆盖。通过Autocmd监听ColorScheme事件,在配色加载完成后重新应用高亮规则:
替换配置文件末尾的vim.api.nvim_set_hl(0, '@text.note', { link = 'Todo' })和vim.api.nvim_command("redraw"),改为以下内容:
-- Autocommands vim.api.nvim_create_autocmd("ColorScheme", { pattern = "*", callback = function() vim.api.nvim_set_hl(0, '@text.note', { link = 'Todo' }) end, })
3. 验证配置
保存配置后重启LunarVim,打开包含TODO注释的文件,注释中的TODO内容会自动以Todo高亮组的样式显示,且重启后不会失效。
内容的提问来源于stack exchange,提问作者z2ouu
相关产品推荐
相关产品推荐

