nvim-pqf makes your quickfix and location list windows look nicer, thanks to a
combination of a custom quickfixtextfunc
function and custom syntax rules for
quickfix/location list buffers.
Without nvim-pqf, your quickfix window looks like this:
With nvim-pqf, it looks like this (colours depend on your theme of course);
First install this plugin using your plugin manager of choice. For example, when using vim-plug use the following:
Plug 'yorickpeterse/nvim-pqf'
Once installed, add the following Lua snippet to your init.lua
:
require('pqf').setup()
And that's it!
Each item in the quickfix list starts with a sign that indicates the type of
item, if this information is available. For example, when displaying diagnostics
an item may start with E
for an error, and W
for a warning.
You can configure these signs (and various other settings) as follows:
require('pqf').setup({
signs = {
error = { text = 'E', hl = 'DiagnosticSignError' },
warning = { text = 'W', hl = 'DiagnosticSignWarn' },
info = { text = 'I', hl = 'DiagnosticSignInfo' },
hint = { text = 'H', hl = 'DiagnosticSignHint' },
},
-- By default, only the first line of a multi line message will be shown.
-- When this is true, multiple lines will be shown for an entry, separated by
-- a space
show_multiple_lines = false,
-- How long filenames in the quickfix are allowed to be. 0 means no limit.
-- Filenames above this limit will be truncated from the beginning with
-- `filename_truncate_prefix`.
max_filename_length = 0,
-- Prefix to use for truncated filenames.
filename_truncate_prefix = '[...]',
})
Depending on your theme, you may need to tweak the highlights used by nvim-pqf. The following highlight groups are used:
Group | Use |
---|---|
Directory |
The file path |
Number |
Line and column numbers |
DiagnosticSignError |
The default highlight group for error signs |
DiagnosticSignWarn |
The default highlight group for warning signs |
DiagnosticSignInfo |
The default highlight group for info signs |
DiagnosticSignHint |
The default highlight group for hint signs |
All source code in this repository is licensed under the Mozilla Public License version 2.0, unless stated otherwise. A copy of this license can be found in the file "LICENSE".