Neovim plugin for Faff — fuzzy-searchable field completion when editing log files.
Requires Neovim (v0.10+) and Telescope.
When you run faff log edit, the log file opens in Neovim. This plugin:
- Detects that you're editing a Faff log file and sets the
fafffiletype - Binds
Ctrl-Fto a Telescope picker for fuzzy-searching field values - Calls
faff field list <field>to pull live vocabulary from your workspace - Inserts the selected value, with tracker IDs annotated with their human-readable name
{
'faffhub/faff-cli-neovim',
dependencies = { 'nvim-telescope/telescope.nvim' },
}No further configuration needed if faff is on your $PATH and your workspace is at ~/.faff or $FAFF_DIR.
- Run
faff log editto open today's log - Move the cursor to a session field line, e.g.:
role = "" impact = "" mode = "" subject = "" trackers = []
- Press
Ctrl-F(normal or insert mode) - Fuzzy-search and press Enter to insert
For tracker fields, the picker shows the tracker name prominently and inserts the ID with a comment:
trackers = ["element:2633285", # Customer SupportAll configuration is optional. Set these in your lazy.nvim config function or anywhere in your Neovim config.
Path to your Faff workspace root. Use this if your workspace is not at ~/.faff and you don't have $FAFF_DIR set in your environment (e.g. when launching Neovim from a GUI).
vim.g.faff_root = '/path/to/your/faff/workspace'Resolution order: g:faff_root → $FAFF_DIR → ~/.faff
Path to the faff executable. Use this if faff is installed in a virtualenv or otherwise not on your $PATH.
vim.g.faff_command = '/Users/tom/.virtualenvs/faff/bin/faff'The default Ctrl-F binding is set in ftplugin/faff.vim. To override it, add to your config:
vim.api.nvim_create_autocmd('FileType', {
pattern = 'faff',
callback = function()
vim.keymap.set({ 'n', 'i' }, '<leader>ff', function()
require('faff.picker').pick_field()
end, { buffer = true, desc = 'Pick faff session field value' })
end,
})| Field | Description |
|---|---|
role |
Your role for the session |
impact |
The impact/objective |
mode |
The type of work (e.g. coding, reviewing) |
subject |
What you're working on |
trackers |
Issue/ticket references |