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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
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 = false,
},
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
end
end
return msg
end,
-- icon = ' ',
}
lualine.setup(config)
|