nvim.nix/nvim/plugin/lualine.lua
2024-03-06 02:24:31 +01:00

87 lines
2.1 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_c = {
-- nvim-navic
{ navic.get_location, cond = navic.is_available },
},
lualine_z = {
-- (see above)
{ extra_mode_status },
},
},
options = {
theme = 'auto',
},
-- Example top tabline configuration (this may clash with other plugins)
-- tabline = {
-- lualine_a = {
-- {
-- 'tabs',
-- mode = 1,
-- },
-- },
-- lualine_b = {
-- {
-- '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_c = {},
-- lualine_x = {},
-- lualine_y = {},
-- lualine_z = {},
-- },
winbar = {
lualine_z = {
{
'filename',
path = 1,
file_status = true,
newfile_status = true,
},
},
},
extensions = { 'fugitive', 'fzf', 'toggleterm', 'quickfix' },
}