diff --git a/lua/lazyvim/plugins/ui.lua b/lua/lazyvim/plugins/ui.lua index 8d7bd4b7..9a6fadbd 100644 --- a/lua/lazyvim/plugins/ui.lua +++ b/lua/lazyvim/plugins/ui.lua @@ -85,14 +85,7 @@ return { event = "VeryLazy", opts = function() local icons = require("lazyvim.config").icons - - local function fg(name) - return function() - ---@type {foreground?:number}? - local hl = vim.api.nvim_get_hl_by_name(name, true) - return hl and hl.foreground and { fg = string.format("#%06x", hl.foreground) } - end - end + local Util = require("lazyvim.util") return { options = { @@ -122,25 +115,25 @@ return { }, }, lualine_x = { - -- stylua: ignore - { - function() return " " .. require("dap").status() end, - cond = function () return package.loaded["dap"] and require("dap").status() ~= "" end, - color = fg("Debug"), - }, -- stylua: ignore { function() return require("noice").api.status.command.get() end, cond = function() return package.loaded["noice"] and require("noice").api.status.command.has() end, - color = fg("Statement"), + color = Util.fg("Statement"), }, -- stylua: ignore { function() return require("noice").api.status.mode.get() end, cond = function() return package.loaded["noice"] and require("noice").api.status.mode.has() end, - color = fg("Constant"), + color = Util.fg("Constant"), }, - { require("lazy.status").updates, cond = require("lazy.status").has_updates, color = fg("Special") }, + -- stylua: ignore + { + function() return " " .. require("dap").status() end, + cond = function () return package.loaded["dap"] and require("dap").status() ~= "" end, + color = Util.fg("Debug"), + }, + { require("lazy.status").updates, cond = require("lazy.status").has_updates, color = Util.fg("Special") }, { "diff", symbols = { diff --git a/lua/lazyvim/util/init.lua b/lua/lazyvim/util/init.lua index 0bbabae2..698cb0c1 100644 --- a/lua/lazyvim/util/init.lua +++ b/lua/lazyvim/util/init.lua @@ -20,6 +20,13 @@ function M.has(plugin) return require("lazy.core.config").plugins[plugin] ~= nil end +function M.fg(name) + ---@type {foreground?:number}? + local hl = vim.api.nvim_get_hl and vim.api.nvim_get_hl(0, { name = name }) or vim.api.nvim_get_hl_by_name(name, true) + local fg = hl and hl.fg or hl.foreground + return fg and { fg = string.format("#%06x", fg) } +end + ---@param fn fun() function M.on_very_lazy(fn) vim.api.nvim_create_autocmd("User", {