handle cases where filetype icon highlight is not set (#589)

This commit is contained in:
Shadman 2022-03-03 00:37:52 +00:00 committed by GitHub
parent 32c85cd214
commit 09f749cbb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 12 deletions

View File

@ -37,19 +37,21 @@ function M:apply_icon()
if icon and self.options.colored then
local highlight_color = modules.utils.extract_highlight_colors(icon_highlight_group, 'fg')
local default_highlight = self:get_default_hl()
local icon_highlight = icon_hl_cache[highlight_color]
if not icon_highlight or not modules.highlight.highlight_exists(icon_highlight.name .. '_normal') then
icon_highlight = modules.highlight.create_component_highlight_group(
{ fg = highlight_color },
icon_highlight_group,
self.options,
false
)
icon_hl_cache[highlight_color] = icon_highlight
end
if highlight_color then
local default_highlight = self:get_default_hl()
local icon_highlight = icon_hl_cache[highlight_color]
if not icon_highlight or not modules.highlight.highlight_exists(icon_highlight.name .. '_normal') then
icon_highlight = modules.highlight.create_component_highlight_group(
{ fg = highlight_color },
icon_highlight_group,
self.options,
false
)
icon_hl_cache[highlight_color] = icon_highlight
end
icon = modules.highlight.component_format_highlight(icon_highlight) .. icon .. default_highlight
icon = modules.highlight.component_format_highlight(icon_highlight) .. icon .. default_highlight
end
end
else
ok = vim.fn.exists('*WebDevIconsGetFileTypeSymbol')