.dotfiles/linux/.config/nvim/lua/plugins/lualine-nvim.lua
2023-12-28 22:52:58 -05:00

69 lines
1.5 KiB
Lua

local config = {
options = {
icons_enabled = true,
theme = "auto",
globalstatus = true,
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
component_separators = { left = "|", right = "|" },
section_separators = { left = "", right = "" },
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = { "mode" },
lualine_b = { "buffers" },
lualine_x = { "diagnostics", "encoding", "fileformat", "filetype" },
lualine_y = { "progress" },
lualine_z = { "location" },
lualine_c = {},
},
tabline = {},
winbar = {},
inactive_winbar = {},
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 = 'No Active Lsp'
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 = ' LSP:',
color = { fg = '#ff6b6b' },
}
return {
"nvim-lualine/lualine.nvim",
lazy = false,
opts = config,
dependencies = {
"nvim-tree/nvim-web-devicons"
}
}