Telescope.nvim Versions Save

Find, Filter, Preview, Pick. All lua, all the time.

0.1.6

2 weeks ago

New small release that fixes a bunch of issues. Big thanks to @jamestrew for helping with maintaining telescope and contributing a good amount of patches.

Full changelog below:

  • 1bec1c9 fix(builtin.commands): make 0-arg commands be repeatable by @: (#2808)
  • abd9a6f fix(which_key): always close on telescope prompt exit
  • 42bbf5a fix(builtin.keymaps): escape newline chars in desc (#2832)
  • 425ab66 fix(builtin.buffers): improve only_cwd handling with partial matches (#2845)
  • 65ee034 fix(builtin.buffers): better buffer in cwd check (#2847)
  • 72b42a5 fix(builtin.oldfiles): cwd matching with special characters (#2860)
  • 38d0c5f docs: update CONTRIBUTING.md (#2876)
  • 5150bc2 fix(git_status): support path_display (#2881)
  • 626a61b docs(contrib): update contribution guide (#2879)
  • 9594a7e fix(previewer): buffer_previewer_maker now receives all necessary opts everywhere (#2833)
  • 6ee97f1 doc(action_state): improve description of action_state.get_current_line (#2895)
  • 199ce5f fix(previewer): buffer previews for term not initially scrolled (#2899)
  • fd333cd docs(developers): fix incorrect file paths (#2902)
  • 6d2be79 fix: do not alter jumplist when jumping to a line in a file (#2910)
  • ec3474b fix(git_branch): previewer commit hash dynamic highlighting (#2921)
  • 93dc724 feat(git_files): support emoji/unicode in filenames (#2943)
  • d85ad68 fix(builtin.marks): expand mark path (#2980)
  • 6312868 docs(git_status): add missing opt expand_dir (#2824)

0.1.5

4 months ago

Another small release, with a couple of bug fixes.

Full Changelog:

  • fix: do not send data to closed stream (#2746)
  • fix: prefix color highlighting on nvim 0.9 (#2403)
  • fix: always reset prompt highlighting (#2739)
  • fix(actions): set location list title (#2741)
  • fix: jumplist picker resume after bwipeout (#2753)
  • fix: split commands while picker is open (#2784)
  • fix: async job close not working #2797 (#2798)
  • fix: check if cmd extension can be loaded - fix lazy loading of extensions (#2655)

0.1.4

5 months ago

Small release but two really important fixes.

One fixes a bug that was exposed in the latest nvim release 0.9.4 and another bug fix finally fixes folds for files opened by telescope. Thanks to @folke for finding a workaround for this long standing issue. Also thanks to everyone else who contributed to this latest release.

Full Changelog:

  • fix: prompt_prefix leading whitespace normal mode cc (#2699)
  • fix: only validate severity table when using a range (#2709)
  • Fix resize/preview toggles of the cursor layout (#2718)
  • docs(readme): clarify mapping (#2723)
  • fix(actions): fixes folding. Fixes #699 (#2726)
  • fix(lsp): call hierarchy results processing (#2728)
  • fix: correctly create User autocmd in action.which_key (#2736)

0.1.3

6 months ago

Another smaller release which fixes a couple of bug with the latest nvim nightly builds.

Thanks to everyone who contributed:

  • fix(live_grep/grep_string): support non-utf8 patterns (#2570)
  • fix(lsp_dynamic_workspace_symbols): add prefilter as per documentation (after to_fuzzy_refine) (#2584)
  • docs: fix the branch example for lazy.nvim (#2586)
  • fix: fix builtins lazy loading (#2590)
  • fix: handle non-file uris for lsp (#2604)
  • fix: do not ignore mappings from setup() when attach_mappings provided (#2613)
  • fix: preserve queued keys at picker launch (#2274) (#2625)
  • fix: handle windows file paths as uris (#2640)
  • test(utils): add tests for is_uri (#2645)
  • Fixed small typo. (#2665)
  • perf(utils): linear scan is_uri (#2648)
  • fix(utils): is_uri empty path (#2671)
  • fix(files.current_buffer_fuzzy_find): fix nil indexing on enter if nothing is selected (#2678)
  • fix results win cursor for sorting_strategy descending (#2679)
  • fix(builtin.pickers): fix wrong picker resuming when using filtering (#2682)
  • fix: use nil for the default diagnostics severity (#2662)
  • fix(telescope.state.get_existing_prompts): it should only return keys that are numbers (#2684)
  • docs: add missing . (#2691)
  • fix(internal.resume): dynamic_preview_title was not respected and title became static (#2696)

0.1.2

9 months ago

Another stable release with a lot of fixes, especially if you are running nvim 0.9. Also, noteworthy is the refactoring of telescope mappings, which simplifies code and should generally work better.

This telescope version still has support back to nvim 0.7, but we will now focus on development for telescope utilizing new features made available in nvim 0.9.

Thanks to everyone who participated in this release, by opening issues (I know I have a huge backlog I still need to work through) and by providing PRs. Full changelog:

  • chore: fix stylua ci
  • fix(oldfiles): use path separator from builtin utils in cwd_only (#2340)
  • docs: fix unfinised sentence in docs (#2335)
  • docs: proof-read edits (#2311)
  • docs: telescope.nvim spelling and grammar fixes (#2325)
  • fix: man_pages on macOS and FreeBSD (#2326) (#2352)
  • fix: wrap nvim_buf_set_option in a protected call (#2346)
  • fix: kyazdani42/nvim-web-devicons is now nvim-tree/nvim-web-devicons (#2343)
  • chore: use luarocks-tag-release action (#2364)
  • fix: execute autocmds correctly (#2375)
  • docs: added config directions for Lazy.nvim package manager (#2377)
  • fix: rename ts_utils.get_node_range -> vim.treesitter.get_node_range (#2376)
  • fix: avoid eval "= directly in builtin registers picker (#2347)
  • docs: add missing documentation for builtin lsp symbols (#2365)
  • fix: reverse range in character class error (#2345)
  • fix: wrap_results option breaking scrolling of results window (#2322)
  • fix(builtin.commands): add the command w/ zero arguments to cmd history when executed (#2320)
  • fix: current_buffer_fuzzy_find push cursor (#2393)
  • fix: apply jump_type only if the definition file is different from the current file (#2324)
  • fix: previewer = true (#2395)
  • fix: current_buffer_fuzzy_find highlighter (#2394)
  • fix: preview cycling and titles work after :Telescope resume (#2422)
  • feat: utilize last window cursor position (#2416)
  • fix: make git_status diff works with staged files (#2421)
  • fix: Incorrect refine option for prompt_prefix (#2413)
  • doc: remove extra { from Lazy.nvim package manager directions (#2406)
  • doc: fix border characters in docs (#2388)
  • feat: support for multi-part file extensions like *.test.js (#2252)
  • fix: icons with multiple dots but without custom overrides (#2256)
  • fix: icon hl width for various pickers (#2450)
  • fix: vim.treesitter.get_query deprecated (#2451)
  • fix(action): grep_string select_default with nil column (#2447)
  • chore: simplify vimgrep_arguments args (#2440)
  • docs: add description for available git branch actions (#2436)
  • fix(from_entry): escape paths with $ symbol (#2412)
  • fix: escape cwd symbols for async_oneshot_finder (#2460)
  • fix: some builtin functions missing in completion list (#2464)
  • fix(health): remove deprecated api warnings in health check (#2478)
  • fix(actions): support commands with special chars (#2224)
  • Revert "chore: simplify vimgrep_arguments args (#2440)" (#2488)
  • fix: flex layout strategy configurations error (#2503) (#2504)
  • fix: replace default mapping rather than mapping CR directly for history and search pickers (#2506)
  • fix(pickers): display preview title at the same position as results title for bottom_pane layout (#2494)
  • fix(preview): update mime-type check for json files (#2221) (#2480)
  • fix: exclude directories from oldfiles picker (#2485)
  • fix: opening file starting with a plus (#2509)
  • fix: icon highlights (broken on nightly) (#2522)
  • fix(lsp.definitions): compare file uri with targetUri (#2514)
  • feat: sorting popup autocomplete items and initial builtin items (#2518)
  • chore(ci): bump stylua action (#2523)
  • fix: always add index to entry (#2442)
  • fix: previewers & entry maker file encoding (#2430)
  • fix: correctly restore cursor position in original window (#2336)
  • fix(finder): followup to #2442, make sure entry is not nil (#2526)
  • fix(actions): send_to_* and smart_send_to_* now append to history (#2527)
  • fix: make sure buf is valid before updating highlighting (#2524)
  • fix: make sure that prompt_win is valid bevore closing it (#2533)
  • Revert "fix: correctly restore cursor position in original window (#2336)" (#2538)
  • fix(bcommits): wrong selection field is used (#2550)
  • fix(mappings): expr for insert mode (#2458)
  • fix(registers): add small delete remove black hole (#2553)
  • fix: use :botright modifier for quickfix window open (#2554)
  • refactor(mappings): use vim.keymap and remove __TelescopeKeymapStore (#2551)
  • fix(actions): which_key after mappings rework (#2556)

0.1.1

1 year ago

It's been quite a while since the last release and not everything went as planned because I couldn't put the time into telescope that I wanted to put into it. Neovim 0.8 released and broke a couple of things in telescope that still need to be resolved, but a 0.1.1 feels necessary at this point because it resolves some big issues. I will most likely release another version soon that fixes some of these major issues.

The biggest new thing that made it into this release is that we now have a github workflow that automatically pushes to luarocks thanks to @mrcjkb and @teto, so going forward you can use luarocks to install telescope.nvim and plenary.nvim

Thanks to everyone who participated in this release, by opening issues (I know I have a huge backlog I still need to work through) and by providing PRs. Full changelog:

  • fix: push history on refine (#2074)
  • fix(which_key): only get telescope mappings (#2090)
  • fix(which_key): mode width options typo (#2078)
  • fix: Telescope command lsp_definition call (and potentially more) (#2086)
  • fix: move the moon behind show_moon option and update documentation (#2072) (#2079)
  • fix: error due to concatenating table to string (#2108)
  • fix(resolve): Check val not nil in resolve funcs (#2097)
  • fix(buffer_previewer): bypass path validation for terminal buffers (#2117)
  • fix(previewer): regression on live_grep (#2119)
  • fix: previewer if cwd is not curr dir (#2084)
  • chore: reduce log level to trace in pickers.lua (#2124)
  • fix: find_files to force color=never (#2130)
  • docs: fix arguments in mappings table to refelct implementation (#2111) (#2125)
  • fix: typo in docs (#2100)
  • fix: make_entry.gen_from_string is a factory and needs to be called (#2116)
  • fix(pickers): always redraw when screen is resized (#2140)
  • fix(sorters): add highlighter to fuzzy_with_index_bias (#2134)
  • fix: remove un-needed check (#2144)
  • fix(preview): update buffer previewer to upstream changes (#2150)
  • fix: nop i_ because we dont want allow new line (#2147)
  • fix: previewer if custom_captures are set (#2156)
  • docs: update for git_files and live_grep (#2133)
  • fix: check for window before scrolling previewer (#2163)
  • fix: checktime when git checkout (#2176)
  • fix: builtin register picker better sorting (#2175)
  • fix: stylua ci (#2177)
  • docs: Add Lua-only key mappings examples (#2174)
  • works with register name and content (#2178)
  • fix: preview = true (#2168)
  • fix: selected icon highlight with color_devicons to false (#2187)
  • feat(diagnostics): change highlight groups to DiagnosticSign... (#2194)
  • perf(builtin): faster list extend for find_files (#2205)
  • docs: readme, add missing key to mapping examples (#2197)
  • feat: allow table as additional args in live grep and grep string (#2139)
  • fix: rg invert and files-with-matches res line parsing (#2208)
  • fix: always load the up to date picker config on picker open
  • fix: generate.refine with border=false (#2223)
  • feat: the parameter "map" of attach_mappings can be list of modes to create mapping on multiple modes (#2220)
  • fix(builtin.commands): no preview for multiline description commands (#2244)
  • docs: Fixed a typo (#2254)
  • fix(builtin.live_grep): add spacer ":" even when coordinates disabled (#2275)
  • fix: misidentification invert and files_with_matches (#2240) (#2262)
  • fix: jumplist picker indexing the line after (#2273)
  • chore: bump ci to more modern os and nvim versions (#2289)
  • fix(docs): point to correct lua modules (#2284)
  • docs: fix typos/wording (#2283)
  • fix: do not use nvim_buf_line_count on unloaded buffers (#2261)
  • docs: Added note that live_grep depends on ripgrep (#2305)
  • fix: correctly parse filenames with special chars in git_status (#2296)
  • fix: live_grep additional_args parsing (#2306)
  • fix: restore testing framework to actually work (#2070)
  • fix(tests): uses testharness in scrolling strategy (#2307)
  • fix(old_files): opts.cwd_only includes similarly named dirs (#2308)
  • feat: add rockspec + luarocks upload workflow (#2276)
  • fix: docgen ci failure (#2323)
  • release: 0.1.1

0.1.0

1 year ago

telescope.nvim 0.1.0

Today we are finally releasing telescope 0.1.0, our first stable release, it only took us 2 years, almost 250 contributors and over 2000 issues and PRs.

With this release we also introduce a new release branch 0.1.x which will get constant fixes, performances improvements and new features without breaking backwards compatibility, so we kindly ask you to switch to either the fixed 0.1.0 tag or this release branch. This allows us to treat the main branch as an actual development branch where we can introduce breaking changes more easily.

Telescope 0.1.0 is compatible with neovim 0.7.0 and newer and we will not raise the minimum required version for the lifecycle of the 0.1.x branch.

Features

Telescope is a fuzzy finder written in lua that provides a simple interface that allows everyone to write their own fuzzy pickers.

  • Wide range of builtin functionallity (files, git, lsp, vim internals)
  • Flexible UI
    • Different themes (dropdown, cursor, ivy)
    • Write your own theme
  • Previewers using treesitter
    • Can be toggled
    • Have multiple previewers and cycle though them
  • Resume previous searches
  • History to cycle through previous search inputs
  • Replaceable backend interfaces
    • Allows you to swap out backend functionality for our own implementations Example: sorters and github.com/nvim-telescope/telescope-fzf-native.nvim

Future Outlook

After this release, we spoke about redesigning the fuzzy engine and move it to a compiled language like rust to improve performance. The core engine part can then be used in "frontend clients" like a neovim plugin or even a cli tool.

Thanks

Thanks to everyone who was part in shaping telescope and this release by opening PRs and Issues. With 244 contributors, I can't mention everyone. Special thanks go to:

  • @tjdevries for starting this plugin and bringing everyone together
  • @fdschmidt93 for maintaining this project with me and help with this release
  • @oberblastmeister for bringing async await to lua and neovim
  • @l-kershaw for his work on layouts
  • @kkharji (previously tami5) as initial project manager
  • @clason for his invaluable feedback and tireless answering of questions