mirror of
https://github.com/neovim/neovim.git
synced 2026-03-31 04:42:03 +00:00
fix(ui2): start treesitter after deleting cmdline buffer (#36274)
Problem: Treesitter is not started in new cmdline buffer after deletion. Solution: Start treesitter when highlighter buffer no longer matches.
This commit is contained in:
@@ -63,7 +63,7 @@ end
|
||||
---@param hl_id integer
|
||||
function M.cmdline_show(content, pos, firstc, prompt, indent, level, hl_id)
|
||||
M.level, M.indent, M.prompt = level, indent, M.prompt or #prompt > 0
|
||||
if M.highlighter == nil then
|
||||
if M.highlighter == nil or M.highlighter.bufnr ~= ext.bufs.cmd then
|
||||
local parser = assert(vim.treesitter.get_parser(ext.bufs.cmd, 'vim', {}))
|
||||
M.highlighter = vim.treesitter.highlighter.new(parser)
|
||||
end
|
||||
|
||||
@@ -97,4 +97,13 @@ describe('cmdline2', function()
|
||||
^ |
|
||||
]])
|
||||
end)
|
||||
|
||||
it('highlights after deleting buffer', function()
|
||||
feed(':%bw!<CR>:call foo()')
|
||||
screen:expect([[
|
||||
|
|
||||
{1:~ }|*12
|
||||
{16::}{15:call} {25:foo}{16:()}^ |
|
||||
]])
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user