return { { "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons", { "SmiteshP/nvim-navic", opts = { icons = { File = " ", Module = " ", Namespace = " ", Package = " ", Class = " ", Method = " ", Property = " ", Field = " ", Constructor = " ", Enum = " ", Interface = " ", Function = " ", Variable = " ", Constant = " ", String = " ", Number = " ", Boolean = " ", Array = " ", Object = " ", Key = " ", Null = " ", EnumMember = " ", Struct = " ", Event = " ", Operator = " ", TypeParameter = " ", }, }, }, }, config = function() local lualine = require("lualine") local navic = require("nvim-navic") local config = { options = { icons_enabled = true, theme = "auto", component_separators = { left = "", right = "" }, section_separators = { left = "", right = "" }, disabled_filetypes = { statusline = {}, winbar = {}, }, ignore_focus = {}, always_divide_middle = true, globalstatus = true, refresh = { statusline = 1000, tabline = 1000, winbar = 1000, }, }, sections = { lualine_a = { { "mode", fmt = function(str) return " " .. str end, }, }, lualine_b = { { "branch", icon = "" }, "diff", "diagnostics", }, lualine_c = { { navic.get_location, condition = navic.is_available }, "searchcount", "lsp_progress", }, lualine_x = { "filetype" }, lualine_y = { "progress" }, lualine_z = { "location" }, }, tabline = {}, winbar = {}, inactive_winbar = {}, extensions = {}, } lualine.setup(config) end, }, }