Skip to content

bug: match ErrorMsg /\s\+$/ is not respected for whitespace #432

@Kris2k

Description

@Kris2k

Neovim version (nvim -v)

NVIM v0.9.5 Build type: Release

Operating system/version

macos 14.4.1 (23E224)

Describe the bug

When using match expression for highlighting trailing white spaces

vim.cmd.colorscheme 'duskfox'
vim.cmd([[match ErrorMsg /\s\+$/]])

the ErrorMsg is not highlighted...
but if I change match regexp to some text that is in file e.g the chosen colorscheme aka duskfox

vim.cmd([[match errorMsg /duskfox/]])

the duskfox is highlighted properly, so I think the Whitespace get some special treatment.

Steps To Reproduce

vim.cmd([[match ErrorMsg /\s+$/]])

Expected Behavior

Trailing whitespaces are highlighted

Repro

-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  {
    "EdenEast/nightfox.nvim",
    config = function()
      require("nightfox").setup({
        -- setup here ...
      })
    end,
  },
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("duskfox")
-- doesn't work
vim.cmd([[match ErrorMsg /\s\+$/]])
-- works 
vim.cmd([[match errorMsg /duskfox/]])

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions