{icons, ...}: { plugins.lualine = { enable = true; alwaysDivideMiddle = true; globalstatus = true; ignoreFocus = ["neo-tree"]; extensions = ["fzf"]; theme = "auto"; disabledFiletypes = { statusline = ["dashboard" "alpha" "starter"]; }; componentSeparators = { left = "·"; right = "·"; }; sectionSeparators = { left = ""; #  right = ""; #  }; sections = let mkColor = color: { __raw = ''function() return MVim.fg("${color}") end''; }; in { lualine_a = ["mode"]; lualine_b = ["branch"]; lualine_c = [ { name = "diagnostics"; extraConfig.symbols = { error = icons.diagnostics.Error; warn = icons.diagnostics.Warn; info = icons.diagnostics.Info; hint = icons.diagnostics.Hint; }; } { name = "filetype"; extraConfig.icon_only = true; separator = { left = ""; right = ""; }; padding = { left = 1; right = 0; }; } "filename" ]; lualine_x = [ # Command { name.__raw = ''function() return require("noice").api.status.command.get() end''; color = mkColor "Statement"; extraConfig = { cond.__raw = ''function() return package.loaded["noice"] and require("noice").api.status.command.has() end''; }; } # Mode { name.__raw = ''function() return require("noice").api.status.mode.get() end''; color = mkColor "Constant"; extraConfig = { cond.__raw = ''function() return package.loaded["noice"] and require("noice").api.status.mode.has() end''; }; } ]; lualine_y = [ { name = "progress"; separator = { left = " "; right = " "; }; padding = { left = 1; right = 1; }; } { name = "location"; padding = { left = 0; right = 1; }; } ]; lualine_z = [''" " .. os.date("%I:%M %p"):gsub("0*", "", 1)'']; }; }; }