return { 'nvim-lualine/lualine.nvim', dependencies = { 'nvim-tree/nvim-web-devicons', 'Isrothy/lualine-diagnostic-message', }, config = function() vim.opt.laststatus = 3 local colors = require('bamboo.palette') require('lualine').setup({ options = { theme = 'auto', disabled_filetypes = { statusline = {}, winbar = { 'dap-repl', 'dapui_console' }, }, section_separators = { left = '', right = '' }, }, globalstatus = true, extensions = { 'oil', 'toggleterm' }, sections = { lualine_b = { 'branch', 'diff', { 'diagnostics', sources = { 'nvim_diagnostic' }, }, }, lualine_c = { { 'getcwd', color = { fg = colors.vulgaris.orange, gui = 'bold' }, }, { 'filename', path = 1, file_status = true, color = { fg = colors.vulgaris.light_blue, gui = 'bold' }, }, { function() return require('nvim-navic').get_location() end, cond = function() return package.loaded['nvim-navic'] and require('nvim-navic').is_available() end, color = { fg = colors.vulgaris.blue }, }, }, lualine_y = { 'searchcount', 'progress', }, }, inactive_sections = { lualine_c = { 'getcwd', { 'filename', path = 1, file_status = true, }, }, }, winbar = { lualine_a = { { 'filename', path = 0, file_status = true, separator = { left = '', right = '' }, color = { fg = '#000000', bg = '#ff9966', gui = 'bold' }, }, }, lualine_b = { { 'filesize', }, { 'diagnostic-message', icons = { error = ' ', warn = ' ', info = ' ', hint = ' ', }, }, }, lualine_c = {}, lualine_x = {}, lualine_y = {}, lualine_z = {}, }, inactive_winbar = { lualine_a = { { 'filename', path = 0, file_status = true, separator = { left = '', right = '' }, color = { fg = '#000000', bg = '#8fb573' }, }, }, lualine_b = { { 'filesize', }, }, lualine_c = {}, lualine_x = {}, lualine_y = {}, lualine_z = {}, }, tabline = { lualine_a = {}, lualine_b = {}, lualine_c = { { 'tabs', mode = 2, tabs_color = { -- Same values as the general color option can be used here. active = { bg = 'orange', fg = 'black' }, inactive = { bg = 'grey' }, }, }, }, lualine_x = {}, lualine_y = {}, lualine_z = {}, }, }) end, }