From d0822bbd155796bd04c0ef1fdf051e90a09fa0a7 Mon Sep 17 00:00:00 2001 From: Michele Campeotto Date: Thu, 12 Feb 2026 14:07:13 +0100 Subject: [PATCH] fix(treesitter): highlight group for EditQuery captures #36265 fix(treesitter): more distinctive highlight for EditQuery captures Problem: EditQuery shows captures in the source buffer using the Title highlight group, which could be too similar to Normal. Solution: Use a virtual text diagnostic highlight group: they are displayed in a similar manner to the query captures so we can assume that the color scheme should have appropriate styling applied to make them visible. --- runtime/doc/treesitter.txt | 8 +++++--- runtime/lua/vim/treesitter/dev.lua | 2 +- runtime/lua/vim/treesitter/query.lua | 8 +++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/runtime/doc/treesitter.txt b/runtime/doc/treesitter.txt index dd990740c5..58303db639 100644 --- a/runtime/doc/treesitter.txt +++ b/runtime/doc/treesitter.txt @@ -1582,9 +1582,11 @@ edit({lang}) *vim.treesitter.query.edit()* completes available parsers. If you move the cursor to a capture name ("@foo"), text matching the - capture is highlighted in the source buffer. The query editor is a scratch - buffer, use `:write` to save it. You can find example queries at - `$VIMRUNTIME/queries/`. + capture is highlighted with |hl-DiagnosticVirtualTextHint| in the source + buffer. + + The query editor is a scratch buffer, use `:write` to save it. You can + find example queries at `$VIMRUNTIME/queries/`. Parameters: ~ • {lang} (`string?`) language to open the query editor for. If omitted, diff --git a/runtime/lua/vim/treesitter/dev.lua b/runtime/lua/vim/treesitter/dev.lua index 246525757d..cb5d8a886f 100644 --- a/runtime/lua/vim/treesitter/dev.lua +++ b/runtime/lua/vim/treesitter/dev.lua @@ -608,7 +608,7 @@ local function update_editor_highlights(query_win, base_win, lang) end_col = end_col, hl_group = 'Visual', virt_text = { - { capture_name, 'Title' }, + { capture_name, 'DiagnosticVirtualTextHint' }, }, }) end diff --git a/runtime/lua/vim/treesitter/query.lua b/runtime/lua/vim/treesitter/query.lua index cdb29fdb61..cd217e6ab2 100644 --- a/runtime/lua/vim/treesitter/query.lua +++ b/runtime/lua/vim/treesitter/query.lua @@ -1196,9 +1196,11 @@ end --- Can also be shown with the [:EditQuery]() command. `:EditQuery ` completes available --- parsers. --- ---- If you move the cursor to a capture name ("@foo"), text matching the capture is highlighted in ---- the source buffer. The query editor is a scratch buffer, use `:write` to save it. You can find ---- example queries at `$VIMRUNTIME/queries/`. +--- If you move the cursor to a capture name ("@foo"), text matching the capture is highlighted +--- with |hl-DiagnosticVirtualTextHint| in the source buffer. +--- +--- The query editor is a scratch buffer, use `:write` to save it. You can find example queries +--- at `$VIMRUNTIME/queries/`. --- --- @param lang? string language to open the query editor for. If omitted, inferred from the current buffer's filetype. function M.edit(lang)