local get_hex = require('cokeline/utils').get_hex --INFO: Specialized function to return the filename if it's an actual file local function filenameIfFileOpened() local filename = vim.fn.expand('%:t') if filename == '' then return '' elseif filename == 'COMMIT_EDITMSG' then return '[Git commit]' elseif vim.bo.modified then return filename .. '*' else return filename end end require('lualine').setup({ options = { icons_enabled = true, theme = 'sonokai', component_separators = { left = '', right = '' }, section_separators = { left = '', right = '' }, disabled_filetypes = {}, }, sections = { lualine_a = { 'mode' }, lualine_b = { 'branch' }, lualine_c = { filenameIfFileOpened }, lualine_x = { 'fileformat' }, lualine_y = { 'diff' }, lualine_z = { 'filetype' }, }, inactive_sections = { lualine_a = {}, lualine_b = {}, lualine_c = { filenameIfFileOpened }, lualine_x = { 'location' }, lualine_y = {}, lualine_z = {}, }, tabline = {}, extensions = {}, }) -- Credit to the original author of cokeline for creating most of this config require('cokeline').setup({ default_hl = { --[[focused = { fg = get_hex('Normal', 'fg'), bg = get_hex('Background', 'bg'), }, unfocused = { fg = get_hex('Comment', 'fg'), bg = get_hex('Background', 'bg'), },--]] fg = function(buffer) if buffer.is_focused then return get_hex('Normal', 'fg') end return get_hex('Comment', 'fg') end, bg = function(_) return get_hex('Background', 'bg') end, }, components = { { text = function(buffer) if buffer.is_focused then return '│ ' .. buffer.devicon.icon else return '| ' .. buffer.devicon.icon end end, hl = { fg = function(buffer) return buffer.devicon.color end, }, }, { text = function(buffer) return buffer.unique_prefix end, hl = { style = 'italic', }, }, { text = function(buffer) return buffer.filename .. ' ' end, }, { text = 'X', delete_buffer_on_left_click = true, }, { text = ' ', }, }, })