From 208cf5f12522581920efbe6ccbf5a5220861b5aa Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 3 Jul 2024 17:56:02 +0200 Subject: [PATCH] fix(icons): implement more devicon functions --- lua/lazyvim/plugins/ui.lua | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/lua/lazyvim/plugins/ui.lua b/lua/lazyvim/plugins/ui.lua index b15f662f..d0ba6944 100644 --- a/lua/lazyvim/plugins/ui.lua +++ b/lua/lazyvim/plugins/ui.lua @@ -309,10 +309,32 @@ return { opts = {}, init = function() package.preload["nvim-web-devicons"] = function() - -- needed since it will be false when loading and mini will fail - package.loaded["nvim-web-devicons"] = {} - require("mini.icons").mock_nvim_web_devicons() - return package.loaded["nvim-web-devicons"] + local Icons = require("mini.icons") + local ret = {} + package.loaded["nvim-web-devicons"] = ret + Icons.mock_nvim_web_devicons() + + local function get(cat) + local all = {} + for _, name in ipairs(Icons.list(cat)) do + local icon, color = ret.get_icon_color(cat == "file" and name, cat == "extension" and name) + all[name] = { icon = icon, color = color } + end + return all + end + + ret.get_icons_by_extension = function() + return get("extension") + end + + ret.get_icons_by_filename = function() + return get("file") + end + + ret.get_icons = function() + return vim.tbl_extend("force", get("file"), get("extension")) + end + return ret end end, },