1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
local lualine = require 'lualine'
local config = {
options = {
icons_enabled = true,
theme = 'onedark',
component_separators = { left = '', right = '' },
section_separators = { left = '', right = '' },
globalstatus = true,
},
sections = {
lualine_a = { 'mode' },
lualine_b = { 'branch' },
lualine_c = { 'filename', 'diagnostics' },
lualine_x = { 'encoding', 'filetype' },
lualine_y = { 'progress' },
lualine_z = { 'location' },
},
}
local function ins_right(component)
table.insert(config.sections.lualine_x, 1, component)
end
ins_right {
-- LSP Indicator
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 ' '
end
end
return msg
end,
}
lualine.setup(config)
|