return { 'rebelot/heirline.nvim', dependencies = { 'Zeioth/heirline-components.nvim' }, opts = function() local compon = require 'heirline-components.all' return { tabline = { -- UI upper bar compon.component.tabline_conditional_padding(), compon.component.tabline_buffers(), compon.component.fill { hl = { bg = 'tabline_bg' } }, compon.component.tabline_tabpages() }, winbar = { -- UI breadcrumbs bar init = function(self) self.bufnr = vim.api.nvim_get_current_buf() end, fallthrough = false, compon.component.breadcrumbs_when_inactive(), compon.component.breadcrumbs { hl = compon.hl.get_attributes('winbar', true) }, }, statuscolumn = { -- UI left column init = function(self) self.bufnr = vim.api.nvim_get_current_buf() end, compon.component.foldcolumn(), compon.component.fill(), compon.component.numbercolumn(), compon.component.signcolumn(), } or nil, statusline = { -- UI statusbar hl = { fg = 'fg', bg = 'bg' }, compon.component.mode { mode_text = { pad_text = 'left' } }, compon.component.git_branch(), compon.component.file_info { filetype = false, filename = {}, file_modified = {}, file_read_only = {} }, compon.component.git_diff(), compon.component.diagnostics(), compon.component.fill(), compon.component.cmd_info { search_count = {} }, compon.component.fill(), -- compon.component.lsp(), compon.component.compiler_state(), compon.component.virtual_env(), compon.component.file_encoding(), compon.component.nav(), }, } end, config = function(_, opts) local heirline = require 'heirline' lib = require 'heirline-components.all' -- Setup lib.init.subscribe_to_events() heirline.load_colors(lib.hl.get_colors()) heirline.setup(opts) end, enabled = false }