From b17e4a5729a90b73945f8ee18bac0c3e4712352f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Lukas=20H=C3=A4gele?= Date: Sun, 18 Oct 2026 14:35:43 +0200 Subject: [PATCH] add window ids to mini.statusbar config --- lua/config/plugins/mini.lua | 58 ++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/lua/config/plugins/mini.lua b/lua/config/plugins/mini.lua index 6327670..90f3ce1 100644 --- a/lua/config/plugins/mini.lua +++ b/lua/config/plugins/mini.lua @@ -1,11 +1,53 @@ +local function section_window() + return tostring(vim.api.nvim_get_current_win()) +end + return { - { - 'echasnovski/mini.nvim', - enabled = true, - config = function() - local statusline = require 'mini.statusline' - statusline.setup { use_icons = true } - end - } + { + 'nvim-mini/mini.nvim', + enabled = true, + config = function() + local statusline = require 'mini.statusline' + statusline.setup { + use_icons = true, + content = { + active = function() + local mode, mode_hl = MiniStatusline.section_mode({ trunc_width = 120 }) + local git = MiniStatusline.section_git({ trunc_width = 40 }) + local diff = MiniStatusline.section_diff({ trunc_width = 75 }) + local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 }) + local lsp = MiniStatusline.section_lsp({ trunc_width = 75 }) + local filename = MiniStatusline.section_filename({ trunc_width = 140 }) + local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 }) + local location = MiniStatusline.section_location({ trunc_width = 75 }) + local search = MiniStatusline.section_searchcount({ trunc_width = 75 }) + local window = section_window() + + return MiniStatusline.combine_groups({ + { hl = mode_hl, strings = { mode } }, + { hl = 'MiniStatuslineDevinfo', strings = { git, diff, diagnostics, lsp } }, + '%<', -- Mark general truncate point + { hl = 'MiniStatuslineFilename', strings = { filename } }, + '%=', -- End left alignment + { hl = 'MiniStatuslineFilename', strings = { window } }, + { hl = 'MiniStatuslineFileinfo', strings = { fileinfo } }, + { hl = mode_hl, strings = { search, location } }, + }) + end, + + inactive = function() + local filename = MiniStatusline.section_filename({ trunc_width = -1 }) + local window = section_window() + + return MiniStatusline.combine_groups({ + { hl = 'MiniStatuslineInactive', strings = { filename } }, + '%=', -- End left alignment + { hl = 'MiniStatuslineInactive', strings = { window } }, + }) + end + } + } + end + } } -- 2.39.5