diff --git a/config/lualine.nix b/config/lualine.nix index 8d2e114..015eb2a 100644 --- a/config/lualine.nix +++ b/config/lualine.nix @@ -1,120 +1,5 @@ { plugins.lualine = { enable = true; - luaConfig.pre = '' - opts = function() - -- PERF: we don't need this lualine require madness 🤷 - local lualine_require = require("lualine_require") - lualine_require.require = require - - local icons = LazyVim.config.icons - - vim.o.laststatus = vim.g.lualine_laststatus - - local opts = { - options = { - theme = "auto", - globalstatus = vim.o.laststatus == 3, - disabled_filetypes = { statusline = { "dashboard", "alpha", "ministarter", "snacks_dashboard" } }, - }, - sections = { - lualine_a = { "mode" }, - lualine_b = { "branch" }, - - lualine_c = { - LazyVim.lualine.root_dir(), - { - "diagnostics", - symbols = { - error = icons.diagnostics.Error, - warn = icons.diagnostics.Warn, - info = icons.diagnostics.Info, - hint = icons.diagnostics.Hint, - }, - }, - { "filetype", icon_only = true, separator = "", padding = { left = 1, right = 0 } }, - { LazyVim.lualine.pretty_path() }, - }, - lualine_x = { - Snacks.profiler.status(), - -- 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 = function() return { fg = Snacks.util.color("Statement") } end, - }, - -- 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 = function() return { fg = Snacks.util.color("Constant") } end, - }, - -- stylua: ignore - { - function() return " " .. require("dap").status() end, - cond = function() return package.loaded["dap"] and require("dap").status() ~= "" end, - color = function() return { fg = Snacks.util.color("Debug") } end, - }, - -- stylua: ignore - { - require("lazy.status").updates, - cond = require("lazy.status").has_updates, - color = function() return { fg = Snacks.util.color("Special") } end, - }, - { - "diff", - symbols = { - added = icons.git.added, - modified = icons.git.modified, - removed = icons.git.removed, - }, - source = function() - local gitsigns = vim.b.gitsigns_status_dict - if gitsigns then - return { - added = gitsigns.added, - modified = gitsigns.changed, - removed = gitsigns.removed, - } - end - end, - }, - }, - lualine_y = { - { "progress", separator = " ", padding = { left = 1, right = 0 } }, - { "location", padding = { left = 0, right = 1 } }, - }, - lualine_z = { - function() - return " " .. os.date("%R") - end, - }, - }, - extensions = { "neo-tree", "lazy", "fzf" }, - } - - -- do not add trouble symbols if aerial is enabled - -- And allow it to be overriden for some buffer types (see autocmds) - if vim.g.trouble_lualine and LazyVim.has("trouble.nvim") then - local trouble = require("trouble") - local symbols = trouble.statusline({ - mode = "symbols", - groups = {}, - title = false, - filter = { range = true }, - format = "{kind_icon}{symbol.name:Normal}", - hl_group = "lualine_c_normal", - }) - table.insert(opts.sections.lualine_c, { - symbols and symbols.get, - cond = function() - return vim.b.trouble_lualine ~= false and symbols.has() - end, - }) - end - - return opts - end - ''; }; }