kickstart.nvim/lua/custom/plugins/statusline.lua

39 lines
1.3 KiB
Lua

return {
'echasnovski/mini.statusline',
dependencies = { 'nvim-tree/nvim-web-devicons' }, -- optional for icons
opts = function(_, opts)
local statusline = require 'mini.statusline'
-- Add new section function
statusline.section_target = function()
local target = require('custom.utils'):get_target()
return target and ('' .. target) or ''
end
-- Override content.active to include target
opts.content = opts.content or {}
opts.content.active = function()
local mode, git, diagnostics, filename, fileinfo, target, location =
statusline.section_mode {},
statusline.section_git {},
statusline.section_diagnostics {},
statusline.section_filename {},
statusline.section_fileinfo {},
statusline.section_target {},
statusline.section_location {}
return statusline.combine_groups {
{ hl = 'MiniStatuslineModeNormal', strings = { mode } },
{ hl = 'MiniStatuslineDevinfo', strings = { git, diagnostics } },
'%<',
{ hl = 'MiniStatuslineFilename', strings = { filename } },
{ hl = 'MiniStatuslineFileinfo', strings = { fileinfo } },
{ hl = 'MiniStatuslineTarget', strings = { target } },
{ hl = 'MiniStatuslineLocation', strings = { location } },
}
end
return opts
end,
}