return { -- status line "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() local function getWords() local wc = vim.api.nvim_eval("wordcount()") if wc["visual_words"] then return wc["visual_words"] else return wc["words"] end end require("lualine").setup({ options = { icons_enabled = true, theme = "auto", component_separators = { left = "", right = "" }, section_separators = { left = "", right = "" }, disabled_filetypes = { statusline = {}, winbar = {}, }, ignore_focus = { "snacks_picker_list", "snacks_input" }, always_divide_middle = true, globalstatus = false, refresh = { statusline = 1000, tabline = 1000, winbar = 1000, }, }, sections = { lualine_a = { { "mode", separator = { left = "", right = "" } } }, lualine_b = { "branch", "diff", "diagnostics" }, lualine_c = { "filename" }, lualine_x = { getWords, "encoding", "fileformat", "filetype" }, lualine_y = { { "progress", left_padding = 0 } }, lualine_z = { { "location", separator = { left = "", right = "" }, padding = 0 } }, }, inactive_sections = { lualine_a = {}, lualine_b = {}, lualine_c = { "filename" }, lualine_x = { "location" }, lualine_y = {}, lualine_z = {}, }, tabline = {}, winbar = {}, inactive_winbar = {}, extensions = {}, }) end, }