return { { "nvim-lualine/lualine.nvim", event = "VeryLazy", opts = function() local icons = LazyVim.config.icons return { 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 = { { "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 = {}, lualine_z = { { function() local l = vim.fn.line(".") local c = vim.fn.col(".") return string.format("%d:%d", l, c) end, padding = { left = 1, right = 1 }, }, }, }, extensions = { "neo-tree", "lazy", "fzf" }, } end, }, }