1
0
Fork 0
mirror of https://github.com/pnx/dotfiles synced 2026-06-16 03:14:55 +02:00
dotfiles/nvim/lua/config/lualine.lua
2024-06-23 16:12:05 +02:00

114 lines
2 KiB
Lua

local icons = require("config.icons")
local separator = { "'" .. icons.separator .. "'", color = "StatusLineSeparator" }
return {
options = {
globalstatus = true,
component_separators = "",
section_separators = "",
disabled_filetypes = {
statusline = {
"dashboard",
},
},
theme = {
normal = {
a = "StatusLineNormal",
b = "StatusLine",
c = "StatusLine",
x = "StatusLine",
y = "StatusLine",
z = "StatusLine",
},
command = {
a = "StatusLineCommand",
z = "StatusLine",
},
insert = {
a = "StatusLineInsert",
z = "StatusLine",
},
visual = {
a = "StatusLineVisual",
z = "StatusLine",
},
replace = {
a = "StatusLineReplace",
z = "StatusLine",
},
},
},
sections = {
lualine_a = {
"mode",
},
lualine_b = {
separator,
"branch",
separator,
'" " .. tostring(#vim.tbl_keys(vim.lsp.buf_get_clients()))',
{
require("lazy.status").updates,
cond = require("lazy.status").has_updates,
color = { fg = "#ff9e64" },
},
{
"diagnostics",
symbols = {
error = icons.diagnostics.error .. " ",
warn = icons.diagnostics.warn .. " ",
info = icons.diagnostics.info .. " ",
hint = icons.diagnostics.hint .. " ",
},
},
{
"diff",
symbols = {
added = icons.diff.added .. " ",
modified = icons.diff.modified .. " ",
removed = icons.diff.removed .. " ",
},
},
separator,
},
lualine_c = {
{
"filename",
path = 1,
symbols = {
modified = "+",
readonly = "[R]",
unnamed = "-",
newfile = "[New]",
},
},
},
lualine_x = {
"filetype",
"fileformat",
'(vim.bo.expandtab and "SPC" or "TAB") .. " " .. vim.bo.shiftwidth',
},
lualine_y = {
separator,
"location",
"progress",
},
lualine_z = {},
},
winbar = {
lualine_c = {
{ "filetype", icon_only = true },
"filename",
},
},
inactive_winbar = {
lualine_c = {
{ "filetype", icon_only = true },
"filename",
},
},
extensions = {
"lazy",
"neo-tree",
},
}