dotfiles/home/apps/neovim/lua/plugins/lualine.lua

96 lines
2.4 KiB
Lua

---@type LazyPluginSpec[]
return {
{
"nvim-lualine/lualine.nvim",
dependencies = {
"nvim-tree/nvim-web-devicons",
{
"SmiteshP/nvim-navic",
opts = {
icons = {
File = "",
Module = "",
Namespace = "",
Package = "",
Class = "",
Method = "",
Property = "",
Field = "",
Constructor = "",
Enum = "",
Interface = "",
Function = "",
Variable = "",
Constant = "",
String = "",
Number = "",
Boolean = "",
Array = "",
Object = "",
Key = "",
Null = "",
EnumMember = "",
Struct = "",
Event = "",
Operator = "",
TypeParameter = "",
},
},
},
},
config = function()
local lualine = require("lualine")
local navic = require("nvim-navic")
local config = {
options = {
icons_enabled = true,
theme = "auto",
component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" },
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
globalstatus = true,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
},
},
sections = {
lualine_a = {
{
"mode",
fmt = function(str)
return "" .. str
end,
},
},
lualine_b = {
{ "branch", icon = "" },
"diff",
"diagnostics",
},
lualine_c = {
{ navic.get_location, condition = navic.is_available },
"searchcount",
"lsp_progress",
},
lualine_x = { "filetype" },
lualine_y = { "progress" },
lualine_z = { "location" },
},
tabline = {},
winbar = {},
inactive_winbar = {},
extensions = {},
}
lualine.setup(config)
end,
},
}