development/templates/nvim/lua/lua-line.lua.j2

50 lines
1 KiB
Django/Jinja

-- {{ 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'}
},
}