diff --git a/lua/ow/plugins/nvim-tree.lua b/lua/ow/plugins/nvim-tree.lua index 8989650..d6931e7 100644 --- a/lua/ow/plugins/nvim-tree.lua +++ b/lua/ow/plugins/nvim-tree.lua @@ -1,19 +1,12 @@ -local function find_link_source(name) - local hl = vim.api.nvim_get_hl(0, { name = "NvimTreeFileIcon" }) - while hl.link do - hl = vim.api.nvim_get_hl(0, { name = hl.link }) - end - - return hl -end +local utils = require("ow.utils") local function override_highlights() -- File Icon - local hl = find_link_source("NvimTreeFileIcon") + local hl = utils.get_hl_source("NvimTreeFileIcon") vim.api.nvim_set_hl(0, "NvimTreeFileIcon", { fg = hl.fg, bg = nil }) -- Symlink Icon - hl = find_link_source("NvimTreeSymlinkIcon") + hl = utils.get_hl_source("NvimTreeSymlinkIcon") vim.api.nvim_set_hl( 0, "NvimTreeSymlinkIcon", diff --git a/lua/ow/utils.lua b/lua/ow/utils.lua index bfd87bf..a8ccb44 100644 --- a/lua/ow/utils.lua +++ b/lua/ow/utils.lua @@ -395,4 +395,14 @@ function M.debounce_with_id(fn, delay) end end +function M.get_hl_source(name) + local hl = vim.api.nvim_get_hl(0, { name = name }) + while hl.link do + hl = vim.api.nvim_get_hl(0, { name = hl.link }) + end + + return hl +end + + return M