nvim-web-devicons icon indicating copy to clipboard operation
nvim-web-devicons copied to clipboard

Cannot override Lua icon color

Open ThaiDuy12345 opened this issue 9 months ago • 5 comments

My configuration:

devicons.setup({
      -- NOTE: override the icon
      override_by_extension = {
        java = { icon = "", color = "#e46368", name = "Java" },
        [".gitignore"] = { icon = "", color = "#428850", name = "GitIgnore" },
        js = { icon = "", color = "#f7cd6d", name = "JavaScript" },
        json = { icon = "", color = "#f7cd6d", name = "JSON" },
        ts = { icon = "󰛦", color = "#87b2e2", name = "TypeScript" },
        html = { icon = "", color = "#de7558", name = "Html" },
        rb = { icon = "", color = "#ef757c", name = "Rb" },
        rake = { icon = "", color = "#ef757c", name = "Rake" },
        rakefile = { icon = "", color = "#ef757c", name = "RakeFile" },
        jbuilder = { icon = "", color = "#f7cd6d", name = "Jbuilder" },
        lua = { icon = "", color = "#37c88e", name = "Lua" }
      },
      color_icons = true,
      default = false,
      strict = true,
})

image NvimTree: image

I expected the DevIconLua should be green as same as the highlight color you guys can see in the photo but it's still have the default color. Other icons seem work fine.

ThaiDuy12345 avatar May 13 '24 16:05 ThaiDuy12345

Execute nvim-web-devicons setup before you execute nvim-tree setup.

What's that plugin that shows the rgb colours after the #? That looks incredibly useful!

20240514_090008

alex-courtis avatar May 13 '24 23:05 alex-courtis

Raised #464

Added to readme: https://github.com/nvim-tree/nvim-web-devicons?tab=readme-ov-file#my-setup-overrides-are-not-applied

alex-courtis avatar May 13 '24 23:05 alex-courtis

Execute nvim-web-devicons setup before you execute nvim-tree setup.

What's that plugin that shows the rgb colours after the #? That looks incredibly useful!

20240514_090008

Thanks for the fast response!! 😊 it's from https://github.com/brenoprata10/nvim-highlight-colors

ThaiDuy12345 avatar May 14 '24 05:05 ThaiDuy12345

Execute nvim-web-devicons setup before you execute nvim-tree setup.

What's that plugin that shows the rgb colours after the #? That looks incredibly useful!

20240514_090008

I added these property to the plugin which expected Lazy.nvim will load and setup it first, but still didnt work....Not only my nvim-tree, but also bufferline-nvim or incline-nvim and maybe other plugin did not catch the color

image

Incline-nvim: image

bufferline: image

Somehow it only wrong for DevIconLua

ThaiDuy12345 avatar May 14 '24 05:05 ThaiDuy12345

UPDATE:

I have got the DevIconLua to change the color, but I have to do an extra line of code after the setup method:

devicons.set_icon({
     java = { icon = "", color = "#e46368", name = "Java" },
     [".gitignore"] = { icon = "", color = "#428850", name = "GitIgnore" },
     js = { icon = "", color = "#f7cd6d", name = "JavaScript" },
     json = { icon = "", color = "#f7cd6d", name = "JSON" },
     ....
})

Dont really know why but it work for me for now

image

ThaiDuy12345 avatar May 14 '24 06:05 ThaiDuy12345

Great news!

#464 should resolve these sorts of problems.

alex-courtis avatar May 18 '24 02:05 alex-courtis

Great news!

#464 should resolve these sorts of problems.

Cool, will try this out

ThaiDuy12345 avatar May 18 '24 06:05 ThaiDuy12345

@alex-courtis

Great news!

#464 should resolve these sorts of problems.

#464 seems to be an issue, not a PR. Is there any PR that solves this that I can try out?


I'm having a similar issue where sometimes the color of the override is set to white, even though I've set some other color.

Here's a minimal config that reproduces the issue:

Click to expand
local lazypath = vim.fn.stdpath('data') .. '/lazy/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',
  '--branch=stable', -- latest stable release
  lazypath,
})
end
vim.opt.rtp:prepend(lazypath)

vim.keymap.set('n', '<c-q>', vim.cmd.quit)

require('lazy').setup({
  {
    'romgrk/barbar.nvim',
    dependencies = {
      'nvim-tree/nvim-web-devicons',
      opts = {
        override = {
          md = {
            icon = 'THIS TEXT IS SOMETIMES WHITE',
            color = 'red',
            name = 'Markdown'
          },
        },
      }
    },
    opts = {},
  }
})

To reproduce

  1. Open a markdown file with nvim -u path/to/config/above
  2. The text THIS TEXT IS SOMETIMES WHITE is sometimes white, and sometimes red (which it should be)

The issue seems to occur with about a 50% chance.

mawkler avatar Jun 03 '24 10:06 mawkler

I'm having a similar issue where sometimes the color of the override is set to white, even though I've set some other color.

Sometimes is the key. Lazy's ordering is nondeterministic.

Can you try with another plugin manager or call setup yourself afterwards, in the correct order?

alex-courtis avatar Jun 06 '24 06:06 alex-courtis