From 3902eab99b8128e829629c2aeefcbe6ecb8c938d Mon Sep 17 00:00:00 2001 From: Syndamia Date: Tue, 31 Mar 2026 21:12:45 +0300 Subject: feat(ux): Change formatting of quickfix list --- lua/ux.lua | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'lua/ux.lua') diff --git a/lua/ux.lua b/lua/ux.lua index c391129..11f78e4 100644 --- a/lua/ux.lua +++ b/lua/ux.lua @@ -37,3 +37,29 @@ vim.o.timeoutlen = 350 vim.o.undofile = true vim.o.undodir = vim.fn.expand("~/nvim/undo") + +--[=[ Quickfix ]=]-- + +vim.cmd [[ + function QuickFixFormat(info) + let qfl = [] + + let maxfnlen = 0 + let maxlilen = 0 + for d in getqflist() + let maxfnlen = max([maxfnlen, strdisplaywidth(fnamemodify(bufname(d.bufnr), ":t"))]) + let maxlilen = max([maxlilen, strdisplaywidth(string(d.lnum))]) + endfor + let strfmt = "%-" . maxfnlen . "s |%". maxlilen ."d|%s" + + let lastfile = "" + for d in getqflist() + let fn = fnamemodify(bufname(d.bufnr), ":t") + call add(qfl, printf(strfmt, fn == lastfile ? '' : fn, d.lnum, d.text)) + let lastfile = fn + endfor + return qfl + endfunction +]] + +vim.o.quickfixtextfunc = "QuickFixFormat" -- cgit v1.3.1-23-gd82d