84 lines
2.1 KiB
Lua
84 lines
2.1 KiB
Lua
return {
|
|
'nvim-lualine/lualine.nvim',
|
|
dependencies = {
|
|
{ 'kyazdani42/nvim-web-devicons', lazy = true },
|
|
'crater2150/vim-theme-chroma',
|
|
{
|
|
'linrongbin16/lsp-progress.nvim',
|
|
config = function()
|
|
require('lsp-progress').setup()
|
|
end
|
|
},
|
|
},
|
|
event = "VeryLazy",
|
|
opts = function(_, opts)
|
|
return {
|
|
options = {
|
|
theme = require('chroma-theme.lualine')
|
|
},
|
|
tabline = {
|
|
lualine_a = { 'branch' },
|
|
lualine_b = {},
|
|
lualine_c = { { 'buffers', show_filename_only = false, symbols = { modified = " ✏️]", alternate_file = " 🔃", folder = " 📁" }, } },
|
|
lualine_x = {},
|
|
lualine_y = {},
|
|
lualine_z = {
|
|
{
|
|
'tabs',
|
|
mode = 1,
|
|
fmt = function(name, context)
|
|
local buflist = vim.fn.tabpagebuflist(context.tabnr)
|
|
local mod = not vim.tbl_isempty(vim.tbl_filter(
|
|
function(bufnr)
|
|
return vim.fn.getbufvar(bufnr, '&mod') ==
|
|
1
|
|
end,
|
|
buflist))
|
|
|
|
local wincount = #vim.tbl_filter(
|
|
function(i) return i == 'leaf' end,
|
|
vim.tbl_flatten(vim.fn.winlayout(context.tabnr))
|
|
)
|
|
|
|
return name ..
|
|
(wincount > 1 and ' +' .. (wincount - 1) or '') ..
|
|
(mod and ' [✏️]]' or '')
|
|
end
|
|
} }
|
|
},
|
|
sections = {
|
|
lualine_a = { 'filename' },
|
|
lualine_b = { 'diff', 'diagnostics' },
|
|
lualine_x = {
|
|
function()
|
|
-- invoke `progress` here.
|
|
return require('lsp-progress').progress()
|
|
end
|
|
},
|
|
lualine_y = { 'filetype' },
|
|
lualine_z = { 'searchcount', 'selectioncount', 'location' }
|
|
},
|
|
inactive_sections = {
|
|
lualine_a = {},
|
|
lualine_b = {},
|
|
lualine_c = { 'filename' },
|
|
lualine_x = { 'location' },
|
|
lualine_y = {},
|
|
lualine_z = {}
|
|
},
|
|
winbar = {},
|
|
inactive_winbar = {},
|
|
extensions = {}
|
|
}
|
|
end,
|
|
config = function(_, opts)
|
|
require("lualine").setup(opts)
|
|
vim.api.nvim_create_augroup("lualine_augroup", { clear = true })
|
|
vim.api.nvim_create_autocmd("User", {
|
|
group = "lualine_augroup",
|
|
pattern = "LspProgressStatusUpdated",
|
|
callback = require("lualine").refresh,
|
|
})
|
|
end,
|
|
}
|