require("nvim-web-devicons").setup({}) local mode_map = { NORMAL = "N", INSERT = "I", REPLACE = "R", COMMAND = "C", VISUAL = "v", ["V-BLOCK"] = "V", ["V-LINE"] = "V-LINE", } require("lualine").setup({ options = { icons_enabled = false, theme = "nord", }, sections = { lualine_a = { { "mode", fmt = function(mode) return mode_map[mode] or mode end, }, "paste", }, lualine_b = { "filename" }, lualine_c = { { "branch", padding = { left = 0 }, }, "diff", { "diagnostics", sources = { "nvim_lsp" }, always_visible = false, symbols = { error = function(count) return count .. "E" end, warn = function(count) return count .. "W" end, info = function(count) return count .. "I" end, hint = function(count) return count .. "H" end, }, }, }, lualine_x = { { function() local go_status_line = vim.api.nvim_call_function("go#statusline#Show", {}) if go_status_line ~= "" then return go_status_line end return vim.bo.filetype end, padding = { left = 1, right = 0 }, }, }, lualine_y = { { "progress", padding = { left = 1, right = 0 } } }, lualine_z = { { "location", padding = { left = 1, right = 0 } } }, }, inactive_sections = { lualine_a = {}, lualine_b = {}, lualine_c = { "filename" }, lualine_x = { { "location", padding = { right = 0 } } }, lualine_y = {}, lualine_z = {}, }, })