Extensions - nvim-telescope/telescope.nvim GitHub Wiki
Extensions
Here are a few simple guidelines to make an extension for Telescope:
Examples
Sorter
It's suggested to install one native sorter, for better performance
Extension | Description |
---|---|
telescope-fzf-native.nvim | Native FZF sorter that uses compiled C to do the matching, supports fzf syntax |
telescope-fzy-native.nvim | Native FZY sorter that uses compiled C to do the matching |
telescope-zf-native.nvim | Native zf sorter that prioritizes matches on filenames |
Below are benchmarks to show the performance difference between lua, fzf, and fzy. Done with an early version of plenary.benchmark
. The benchmark was done by calculating the score for 240201 file strings in a table. For each score > 0
we also calculated the positions (this is the slower part for both algorithms, and telescope tends to only do this for the displayed results, usually less than 50 entries).
The benchmark between fzf-native and fzy-native isn't that meaningful. The benefit of fzf-native is the support with the fzf syntax.
imgs/bench1.png imgs/bench2.png
Different Plugins with telescope integration
Extension | Description |
---|---|
telescope-all-recent | (F)recency sorting for all Telescope pickers. |
telescope-http.nvim | Quickly investigate HTTP status codes |
telescope-frecency.nvim | A "smart" picker using Frecency Algorithm that can learn from your habit |
telescope-recent-files.nvim | Merges the find_files and oldfiles picker, so files are sorted by how recently they were opened |
telescope-session.nvim | A "xray23" picker to help you manage your vim sessions |
octo.nvim | Edit and review GitHub issues and pull requests from the comfort of your favorite editor with telescope integration |
telescope-pathogen.nvim | Switch working directory for builtin actions on the fly |
telescope-project.nvim | Switch between projects |
telescope-completion.nvim | Pick Insert mode completion |
telescope-code-fence.nvim | Fetch Markdown Code Fences from Github |
telescope-software-licenses.nvim | View and paste common software licenses into your project |
telescope-git-grep.nvim | Search the current buffer's worktree using git grep |
telescope-git-selector.nvim | Quickly search for Git worktrees and open/search files in the selected worktree |
telescope-github.nvim | Integration with github cli |
telescope-media-files.nvim | Preview images, pdf, epub, video, and fonts from Neovim using Telescope |
telescope-fzf-writer.nvim | Incorporating some fzf concepts with plenary jobs and Telescope |
telescope-symbols.nvim | Picking symbols and insert them at point |
telescope-ghq.nvim | Integration with ghq |
telescope-repo.nvim | Jump into the repositories (git, mercurialβ¦) of your filesystem |
telescope-node-modules.nvim | List all node packages under node_modules directory |
telescope-z.nvim | Integration with z |
telescope-ros.nvim | Pick packages from ROS and ROS2 workspaces |
telescope_hoogle | Live search Haskell functions and docs using Hoogle and Telescope! |
telescope-tele-tabby.nvim | Tab switcher |
telescope-lsp-handlers.nvim | Handlers for built-in LSP commands |
browser-bookmarks.nvim | Open your browser bookmarks from Neovim using Telescope |
telescope-heading.nvim | Switch between document's headings (Markdown, AsciiDoc, rst, org, latex, and Vim Help) |
telescope-emoji.nvim | Find emojisπ |
telescope-glyph.nvim | Find font glyphs |
telescope-opds | browse opds catalogs |
goimpl.nvim | generate interface stubs for a type |
telescope-gott.nvim | exec a specific go test |
telescope-switch.nvim | switch between files with given rules |
nvim-neoclip.lua | clipboard manager |
telescope-tmuxinator.nvim | tmuxinator integration |
cheatsheet.nvim | Cheatsheet plugin for neovim with Telescope as UI, actively maintained fork of the original plugin |
telescope-hop.nvim | Navigate, select, and perform actions with motions inspired by hop.nvim |
scaladex.nvim | Search & add scaladex for dependencies/libraries for your scala projects! |
telescope-ctags-outline.nvim | get ctags outline |
telescope-command-palette.nvim | Create key-bindings and watch them with telescope |
telescope-terraform-doc.nvim | Browse Terraform providers resources |
telescope-windowizer.nvim | Open and edit files in another tmux window and kill the window when exit vim |
telescope-ag | A Telescope picker for Silver Searcher(Ag) similar to that of fzf.vim |
telescope-scriptnames.nvim | A Telescope extension wrapper around :scriptnames |
telescope-changes.nvim | A Telescope extension wrapper around :changes |
telescope-gitmoji.nvim | A Telescope integration of gitmoji. |
telescope-cc.nvim | A Telescope integration of Conventional Commits. |
telescope-cmdline-word.nvim | Search word for substitute with tab |
telescope-ports.nvim | Watch open ports on your system with telescope |
command_center.nvim | A command palette for neovim |
yanky.nvim | Improved Yank and Put functionalities for Neovim |
vim-p4-files | List and select files in Perforce repository |
run-code.nvim | Create and manage custom commands you can run while writing code |
telescope-everything.nvim | Everything integration |
telescope-recent-files | Picker for recently opened files, including buffers which are not yet saved in v:oldfiles |
easypick.nvim | Create Telescope pickers from arbitrary console commands |
telescope-extension-maker.nvim | Easy to make a telescope extension |
ad-telescope-extensions.nvim | A set of telescope extensions, which build on telescope-extension-maker |
telescope-file-browser.nvim | A file browser extension supporting synchronized creation, deletion, renaming, and moving of files and folders |
telescope-alternate | Alternate between common files using pre-defined regexp. Just map the patterns and starting navigating between files that are related. |
scout | Browse packages on Hackage and open their haddock in your browser. |
telescope-tabs | Fly through your tabs in neovim βοΈ |
telescope-manix | Search Nix documentation using Manix and Telescope. |
telescope-color-names.nvim | Picker for X11 / web color names. |
lsp-toggle.nvim | Disable/Enable LSP clients for buffers. |
dir-telescope.nvim | Perform telescope functions in selected directories |
telescope-directory.nvim | Search for directories with telescope and perform any action. |
haskell-tools.nvim | Hoogle search for the type signature of the value under the cursor |
telescope-menu.nvim | Add a custom menu that executes a command |
tailiscope.nvim | TailwindCSS cheatsheet within Telescope |
telescope-undo.nvim | Visualize and search all changes in your undo tree |
telescope-monorepos.nvim | A telescope extension for fuzzy searching packages in a monorepo(rush) and navigating to its folder |
adjacent.nvim | A telescope extension for finding files in the same directory as the current buffer |
telescope-search-dir-picker.nvim | A Telescope extension for picking the search directory before live_grep |
telescope-filelinks.nvim | Add file links to your wiki, the README.md or any other file using telescope. |
telescope-docker.nvim | Manage docker containers, images and compose files from a telescope prompt. |
telescope-tasks.nvim | Run and preview the definitions and outputs of custom or auto-generated tasks from a telescope prompt. |
telescope-import.nvim | Import modules faster based on import patterns you've already used elsewhere in your project. |
telescope-texsuite | Telescope menus for latex. |
whaler.nvim | Move between directories blazingly fast. |
telescope-picker-list.nvim | List all telescope pickers including user extensions. Free your brain. |
telescope-git-submodules.nvim | List and preview your project's git submodules. Interact with them with your favourite git TUI. |
telescope-cmdline.nvim | Telescope extension to use command line in a floating window, rather than in bottom-left corner. |
telescope-git-conflicts | Telescope git conflicts picker. |
telescope-rails.nvim | Navigate Rails app easily. |
telescope-helpgrep.nvim | Use helpgrep to grep through help files. |
cscope-picker | Simple picker for cscope references. |
telescope-just.nvim | A Telescope picker for just |
telescope-zotero.nvim | A Telescope picker for Zotero |
telescope-foldmarkers.nvim | A Telescope picker for Vim fold markers. Build a navigable table of contents for long files in your comments. |
telescope-jj.nvim | A telescope picker to use with Jujutsu repos |
grit-telescope.nvim | A telescope picker for Grit |
telescope-live-grep-args.nvim | Enables passing arguments to the grep command |
telescope-rg.nvim | Choose your own grep command and arguments on the fly if it outputs in vimgrep format |
feed.nvim | Browse and fuzz your way through your web feeds with telescope |
Extensions that offer Telescope integration for another plugin
Extension | Description |
---|---|
telescope-dap.nvim | nvim-dap integration |
telescope-dapzzzz | facilitate dap to load vscode adapter configure file or user custom configuration file |
telescope-packer.nvim | A Telescope extension that provides extra functionality for Packer.nvim |
telescope-vimspector.nvim | Integration for vimspector |
telescope-asynctasks.nvim | Integration for asynctasks |
telescope-ultisnips.nvim | Integration for ultisnips |
telescope-coc.nvim | Integration with coc.nvim |
session-lens | A Session Switcher extension built on top of auto-session |
telescope-openbrowser.nvim | Integration for open-browser.vim with Telescope.nvim |
telescope-vim-bookmarks.nvim | Integration with the vim-bookmarks plugin |
telescope-tmux.nvim | Integration for tmux |
telescope-zoxide | Integration with zoxide, a smart directory picker that tracks your usage |
neorg-telescope | Integration with neorg |
telescope-luasnip.nvim | Integration for LuaSnip |
telescope-git-diffs.nvim | Integration for diffview.nvim |
telescope-lazy.nvim | Integration for Lazy.nvim, provides handy functionality about installed plugins |
telescope-lazy-plugins.nvim | Integration for Lazy.nvim, quickly access configurations of plugins managed by lazy |
toggleterm-manager.nvim | Customizable Telescope extension to manage toggleterm.nvim terminal buffers |
telescope-gpt.nvim | Integration for chatGPT.nvim |
telescope-cscope.nvim | Integration for cscope_maps |
todo-nu-picker.nvim | Integration for todo-nu |
telescope-resession.nvim | Integration for resession.nvim |
Extension folder structure
.
βββ README.md # README for your awesome extension
βββ lua
βββ tests # TODO: Layout for unit tests
βββ telescope
βββ _extensions # The underscore is significant
ββ plugin_name.lua # Init and register your extension
ββ plugin_name
ββ file1.lua # Break up the heavy-lifting in
ββ file2.lua # several files
ββ ...