-- {{ ansible_managed }} local lualine = require('lualine'); local function active_lsps() local buffer = vim.api.nvim_get_current_buf() local attached_clients = vim.lsp.get_clients({ bufnr = buffer }) if #attached_clients == 0 then return 'LSP: 0' end local preview_client = attached_clients[1] return ('LSP: %s (%d)'):format(preview_client.name, #attached_clients) end local function diff_source() local gitsigns = vim.b.gitsigns_status_dict if gitsigns then return { added = gitsigns.added, modified = gitsigns.changed, removed = gitsigns.removed } end end lualine.setup { sections = { lualine_a = {'mode'}, lualine_b = { {'b:gitsigns_head', icon = ''}, {'diff', source = diff_source}, 'diagnostics', active_lsps }, lualine_c = { { 'filename', path = 1, } }, lualine_x = { 'encoding', 'fileformat', 'filetype' }, lualine_y = {'progress'}, lualine_z = {'location'} }, }