From 04926ea9bd1bf51cd441824fd22c2d0efb51968a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20La=C3=ADn?= Date: Thu, 16 Nov 2023 02:17:42 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20perf(nvim):=20lualine=20unnecesa?= =?UTF-8?q?ry=20code=20to=20a=20more=20maintainable=20and=20easy=20to=20re?= =?UTF-8?q?ad?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/nvim/lua/plugins/lualine.lua | 105 +++------------------------ 1 file changed, 9 insertions(+), 96 deletions(-) diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua index fbc0943c..73450e74 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/.config/nvim/lua/plugins/lualine.lua @@ -1,98 +1,11 @@ return { - { - "nvim-lualine/lualine.nvim", - opts = function() - -- PERF: we don't need this lualine require madness 🤷 - local lualine_require = require("lualine_require") - lualine_require.require = require - - local Util = require("lazyvim.util") - local icons = require("lazyvim.config").icons - - vim.o.laststatus = vim.g.lualine_laststatus - - return { - options = { - theme = "auto", - globalstatus = true, - disabled_filetypes = { statusline = { "dashboard", "alpha", "starter" } }, - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - }, - sections = { - lualine_a = { "mode" }, - lualine_b = { "branch" }, - - lualine_c = { - Util.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 } }, - { Util.lualine.pretty_path() }, - }, - lualine_x = { - { - "overseer", - }, - - -- 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 = Util.ui.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 = Util.ui.fg("Constant"), - }, - -- stylua: ignore - { - function() return " " .. require("dap").status() end, - cond = function () return package.loaded["dap"] and require("dap").status() ~= "" end, - color = Util.ui.fg("Debug"), - }, - { - require("lazy.status").updates, - cond = require("lazy.status").has_updates, - color = Util.ui.fg("Special"), - }, - { - "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 = 1 } }, - }, - lualine_z = { - { "location", padding = { left = 1, right = 1 } }, - }, - }, - extensions = { "neo-tree", "lazy" }, - } - end, - }, + "nvim-lualine/lualine.nvim", + opts = function(_, opts) + table.insert(opts.options, { + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + }) + opts.sections.lualine_y = { { "progress", separator = " ", padding = { left = 1, right = 1 } } } + opts.sections.lualine_z = { { "location", padding = { left = 1, right = 1 } } } + end, }