Neovim/lua/plugins/lualine.lua

125 lines
4.5 KiB
Lua

local icons = require("lazyvim.config").icons
return {
{
"nvim-lualine/lualine.nvim",
opts = {
options = {
theme = 'tokyonight',
icons_enabled = true,
globalstatus = true,
section_separators = { left = '', right = '' },
component_separators = { left = '', right = '' },
disabled_filetypes = {
statusline = {
'help',
'startify',
'dashboard',
'packer',
'neogitstatus',
-- 'NvimTree',
'Trouble',
'alpha',
'lir',
'Outline',
'neo-tree',
'spectre_panel',
'toggleterm',
'qf',
},
winbar = {
'help',
'startify',
'dashboard',
'packer',
'neogitstatus',
'NvimTree',
'neo-tree',
'Trouble',
'alpha',
'lir',
'Outline',
'spectre_panel',
'toggleterm',
'qf',
}
},
},
sections = {
lualine_a = { 'mode' },
lualine_b = {
{
'branch',
on_click = function(_, _)
vim.defer_fn(function()
vim.cmd("LazyGit")
end, 100)
end
}
},
lualine_c = {
{
'diff',
symbols = {
added = icons.git.added,
modified = icons.git.modified,
removed = icons.git.removed
},
colored = true,
on_click = function(_, _)
vim.defer_fn(function()
vim.cmd("Gdiffsplit")
end, 100)
end
},
{
"diagnostics",
sources = { 'nvim_diagnostic' },
symbols = {
error = icons.diagnostics.Error,
warn = icons.diagnostics.Warn,
info = icons.diagnostics.Info,
hint = icons.diagnostics.Hint,
},
colored = true,
on_click = function(_, _)
require("trouble").toggle({ mode = "document_diagnostics" })
end
},
{
'filename',
file_status = true,
path = 0,
symbols = {
modified = '[+]', -- Text to show when the file is modified.
readonly = '[-]', -- Text to show when the file is non-modifiable or readonly.
unnamed = '[No Name]', -- Text to show for unnamed buffers.
newfile = '[New]', -- Text to show for newly created file before first write
}
},
},
lualine_x = {
'encoding',
'fileformat',
{
'filetype',
colored = true,
on_click = function(_, _)
vim.defer_fn(function()
vim.cmd("Telescope filetypes")
end, 100)
end
}
},
lualine_y = { 'progress' },
lualine_z = { 'location' },
},
},
dependencies = {
'nvim-tree/nvim-web-devicons',
"SmiteshP/nvim-navic",
'kdheepak/lazygit.nvim'
}
},
}