diff options
author | Christian Chiarulli <[email protected]> | 2022-10-03 00:56:23 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2022-10-03 00:56:23 +0000 |
commit | 1c03ac80529d90c7a824a581172b6e41e6ae237b (patch) | |
tree | bbcee88ef07eda8658e4907c8a511625aa26a9bf /lua/lvim/core/lir.lua | |
parent | 488d95b3b84879a178692557cb7a9c683bc8c36b (diff) |
feat: reload and lir color update (#3123)
Diffstat (limited to 'lua/lvim/core/lir.lua')
-rw-r--r-- | lua/lvim/core/lir.lua | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/lua/lvim/core/lir.lua b/lua/lvim/core/lir.lua index e65d45dd..a47c40b6 100644 --- a/lua/lvim/core/lir.lua +++ b/lua/lvim/core/lir.lua @@ -1,21 +1,20 @@ local M = {} --- local Log = require "lvim.core.log" - M.config = function() lvim.builtin.lir = { active = true, on_config_done = nil, + icon = "î—¿", } - local status_ok, lir = pcall(require, "lir") + local status_ok, lir = pcall(reload, "lir") if not status_ok then return end - local actions = require "lir.actions" - local mark_actions = require "lir.mark.actions" - local clipboard_actions = require "lir.clipboard.actions" + local actions = reload "lir.actions" + local mark_actions = reload "lir.mark.actions" + local clipboard_actions = reload "lir.clipboard.actions" lir.setup { show_hidden_files = false, @@ -84,31 +83,45 @@ M.config = function() } -- custom folder icon - require("nvim-web-devicons").set_icon { + reload("nvim-web-devicons").set_icon { lir_folder_icon = { icon = "î—¿", - -- color = "#7ebae4", - -- color = "#569CD6", color = "#42A5F5", name = "LirFolderNode", }, } end +function M.icon_setup() + local function get_hl_by_name(name) + local ret = vim.api.nvim_get_hl_by_name(name.group, true) + return string.format("#%06x", ret[name.property]) + end + + local found, icon_hl = pcall(get_hl_by_name, { group = "NvimTreeFolderIcon", property = "foreground" }) + if not found then + icon_hl = "#42A5F5" + end + + reload("nvim-web-devicons").set_icon { + lir_folder_icon = { + icon = lvim.builtin.lir.icon, + color = icon_hl, + name = "LirFolderNode", + }, + } +end + function M.setup() if lvim.builtin.nvimtree.active then - -- Log:warn "Unable to configure lir while nvimtree is active! Please set 'lvim.builtin.nvimtree.active=false'" return end - local status_ok, lir = pcall(require, "lir") + local status_ok, lir = pcall(reload, "lir") if not status_ok then return end - lir.setup(lvim.builtin.lir.setup) - require("nvim-web-devicons").set_icon(lvim.builtin.lir.icons) - if lvim.builtin.lir.on_config_done then lvim.builtin.lir.on_config_done(lir) end |