Home

Awesome

Pretty Quickfix windows for NeoVim

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:

Without nvim-pqf

With nvim-pqf, it looks like this (colours depend on your theme of course);

With nvim-pqf

Features

Requirements

Installation

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!

Configuration

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 = '[...]',
})

Tweaking the highlights

Depending on your theme, you may need to tweak the highlights used by nvim-pqf. The following highlight groups are used:

GroupUse
DirectoryThe file path
NumberLine and column numbers
DiagnosticSignErrorThe default highlight group for error signs
DiagnosticSignWarnThe default highlight group for warning signs
DiagnosticSignInfoThe default highlight group for info signs
DiagnosticSignHintThe default highlight group for hint signs

License

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".