local lualine = require 'lualine' local config = { options = { icons_enabled = true, theme = 'onedark', component_separators = { left = '', right = '' }, section_separators = { left = '', right = '' }, disabled_filetypes = { 'startify', 'terminal', 'netrw', 'NvimTree', 'packer' }, globalstatus = true, }, sections = { lualine_a = { 'mode' }, lualine_b = { 'branch' }, lualine_c = { 'filename', 'diagnostics' }, lualine_x = { 'encoding', 'filetype' }, lualine_y = { 'progress' }, lualine_z = { 'location' }, }, inactive_sections = { lualine_a = {}, lualine_b = {}, lualine_c = { 'filename' }, lualine_x = { 'location' }, lualine_y = {}, lualine_z = {}, }, tabline = {}, extensions = {}, } -- local function ins_left(component) -- table.insert(config.sections.lualine_c, component) -- end local function ins_right(component) table.insert(config.sections.lualine_x, 1, component) end ins_right { -- Lsp server name . function() local msg = '' local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype') local clients = vim.lsp.get_active_clients() if next(clients) == nil then return msg end for _, client in ipairs(clients) do local filetypes = client.config.filetypes if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then -- return ' ' .. client.name return ' ' end end return msg end, -- icon = ' ', } lualine.setup(config)