nvim/lua/plugins/lualine.lua
2025-04-17 21:58:34 +02:00

132 lines
3.2 KiB
Lua

return {
'nvim-lualine/lualine.nvim',
dependencies = {
'nvim-tree/nvim-web-devicons',
'Isrothy/lualine-diagnostic-message',
},
config = function()
vim.opt.laststatus = 3
local colors = require('bamboo.palette')
require('lualine').setup({
options = {
theme = 'auto',
disabled_filetypes = {
statusline = {},
winbar = { 'dap-repl', 'dapui_console' },
},
section_separators = { left = '', right = '' },
},
globalstatus = true,
extensions = { 'oil', 'toggleterm' },
sections = {
lualine_b = {
'branch',
'diff',
{
'diagnostics',
sources = { 'nvim_diagnostic' },
},
},
lualine_c = {
{
'getcwd',
color = { fg = colors.vulgaris.orange, gui = 'bold' },
},
{
'filename',
path = 1,
file_status = true,
color = { fg = colors.vulgaris.light_blue, gui = 'bold' },
},
{
function() return require('nvim-navic').get_location() end,
cond = function() return package.loaded['nvim-navic'] and require('nvim-navic').is_available() end,
color = { fg = colors.vulgaris.blue },
},
},
lualine_y = {
'searchcount',
'progress',
},
},
inactive_sections = {
lualine_c = {
'getcwd',
{
'filename',
path = 1,
file_status = true,
},
},
},
winbar = {
lualine_a = {
{
'filename',
path = 0,
file_status = true,
separator = { left = '', right = '' },
color = { fg = '#000000', bg = '#ff9966', gui = 'bold' },
},
},
lualine_b = {
{
'filesize',
},
{
'diagnostic-message',
icons = {
error = '',
warn = '',
info = '',
hint = '',
},
},
},
lualine_c = {},
lualine_x = {},
lualine_y = {},
lualine_z = {},
},
inactive_winbar = {
lualine_a = {
{
'filename',
path = 0,
file_status = true,
separator = { left = '', right = '' },
color = { fg = '#000000', bg = '#8fb573' },
},
},
lualine_b = {
{
'filesize',
},
},
lualine_c = {},
lualine_x = {},
lualine_y = {},
lualine_z = {},
},
tabline = {
lualine_a = {},
lualine_b = {},
lualine_c = {
{
'tabs',
mode = 2,
tabs_color = {
-- Same values as the general color option can be used here.
active = { bg = 'orange', fg = 'black' },
inactive = { bg = 'grey' },
},
},
},
lualine_x = {},
lualine_y = {},
lualine_z = {},
},
})
end,
}