Reference Providers

When you trigger goto_preview_references, the LSP often returns multiple locations. goto-preview needs a way to let you pick which one to preview. The plugin supports several providers for this selection list.

You can configure the provider in your setup:

require('goto-preview').setup {
  references = {
    provider = "telescope", -- Options below
  }
}

Supported Providers

The provider string can be one of the following:

1. telescope (Default)

Requires telescope.nvim. It uses a dropdown theme by default.

references = {
  provider = "telescope",
  telescope = require("telescope.themes").get_dropdown({ hide_preview = false })
}

2. fzf_lua

Requires fzf-lua. It uses the lsp_references picker.

references = {
  provider = "fzf_lua"
}

3. snacks

Requires snacks.nvim. Uses snacks.picker with source lsp_references.

references = {
  provider = "snacks"
}

4. mini_pick

Requires mini.pick. Creates a custom picker source for the references.

references = {
  provider = "mini_pick"
}

5. default

Uses vim.ui.select. This falls back to whatever UI selection interface you have configured (e.g., dressing.nvim or standard Neovim text menu).

references = {
  provider = "default"
}

Telescope Extension

goto-preview also registers itself as a Telescope extension. You can load it via:

require("telescope").load_extension("gotopreview")

This exposes telescope.extensions.gotopreview.references.