132 lines
3.3 KiB
Lua
132 lines
3.3 KiB
Lua
if vim.g.did_load_lualine_plugin then
|
|
return
|
|
end
|
|
vim.g.did_load_lualine_plugin = true
|
|
|
|
local navic = require('nvim-navic')
|
|
navic.setup {}
|
|
|
|
---Indicators for special modes,
|
|
---@return string status
|
|
local function extra_mode_status()
|
|
-- recording macros
|
|
local reg_recording = vim.fn.reg_recording()
|
|
if reg_recording ~= '' then
|
|
return ' @' .. reg_recording
|
|
end
|
|
-- executing macros
|
|
local reg_executing = vim.fn.reg_executing()
|
|
if reg_executing ~= '' then
|
|
return ' @' .. reg_executing
|
|
end
|
|
-- ix mode (<C-x> in insert mode to trigger different builtin completion sources)
|
|
local mode = vim.api.nvim_get_mode().mode
|
|
if mode == 'ix' then
|
|
return '^X: (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)'
|
|
end
|
|
return ''
|
|
end
|
|
|
|
require('lualine').setup {
|
|
globalstatus = true,
|
|
sections = {
|
|
lualine_a = { 'mode' },
|
|
lualine_b = { 'branch', 'diff', 'diagnostics' },
|
|
lualine_c = { "overseer" },
|
|
-- lualine_c = {
|
|
-- -- nvim-navic
|
|
-- navic.get_location, cond = navic.is_available
|
|
-- },
|
|
lualine_x = { 'encoding', 'fileformat', 'filetype' },
|
|
lualine_y = { 'progress' },
|
|
lualine_z = {
|
|
-- (see above)
|
|
{ extra_mode_status },
|
|
},
|
|
},
|
|
options = {
|
|
theme = 'catppuccin-mocha',
|
|
-- component_separators = { left = '', right = ''},
|
|
component_separators = { left = '', right = '' },
|
|
-- section_separators = { left = '', right = ''},
|
|
section_separators = { left = '', right = '' },
|
|
ignore_focus = {
|
|
"dapui_scopes",
|
|
"dapui_breakpoints",
|
|
"dapui_stacks",
|
|
"dapui_watches",
|
|
"dap-repl",
|
|
"dapui_console"
|
|
},
|
|
},
|
|
-- Example top tabline configuration (this may clash with other plugins)
|
|
-- tabline = {
|
|
-- lualine_a = {
|
|
-- {
|
|
-- 'tabs',
|
|
-- mode = 1,
|
|
-- },
|
|
-- },
|
|
-- lualine_a = {
|
|
-- {
|
|
-- 'buffers',
|
|
-- show_filename_only = true,
|
|
-- show_bufnr = true,
|
|
-- mode = 4,
|
|
-- filetype_names = {
|
|
-- TelescopePrompt = 'Telescope',
|
|
-- dashboard = 'Dashboard',
|
|
-- fzf = 'FZF',
|
|
-- },
|
|
-- buffers_color = {
|
|
-- -- Same values as the general color option can be used here.
|
|
-- active = 'lualine_b_normal', -- Color for active buffer.
|
|
-- inactive = 'lualine_b_inactive', -- Color for inactive buffer.
|
|
-- },
|
|
-- },
|
|
-- },
|
|
-- lualine_b = {
|
|
-- lualine_c = {},
|
|
-- lualine_x = {},
|
|
-- lualine_y = {},
|
|
-- lualine_z = {}, -- Commented out so that buffers and file path are on the same line
|
|
-- },
|
|
winbar = {
|
|
lualine_a = {
|
|
-- {
|
|
-- "navic",
|
|
-- color_correction = nil,
|
|
-- navic_opts = nil
|
|
-- }
|
|
},
|
|
lualine_b = {},
|
|
lualine_c = {
|
|
{
|
|
'filename',
|
|
path = 1,
|
|
file_status = true,
|
|
newfile_status = true,
|
|
},
|
|
{
|
|
function()
|
|
return navic.get_location()
|
|
end,
|
|
cond = function()
|
|
return navic.is_available()
|
|
end
|
|
},
|
|
},
|
|
-- lualine_x = {
|
|
-- {
|
|
-- 'filename',
|
|
-- path = 1,
|
|
-- file_status = true,
|
|
-- newfile_status = true,
|
|
-- },
|
|
-- },
|
|
lualine_y = {'location'},
|
|
lualine_z = {'searchcount','selectioncount'},
|
|
},
|
|
extensions = { 'fugitive', 'fzf', 'toggleterm', 'quickfix' },
|
|
}
|