Releases: nvim-telescope/telescope.nvim
v0.1.9
Too many changes to summarize, but lots of goodies. Last version compatible with Nvim 0.9.
Thanks to everyone who kept the dream alive!
What's Changed
- fix: push history on refine by @Conni2461 in #2074
- fix(which_key): only get telescope mappings by @fdschmidt93 in #2090
- fix: whichkey mode width options typo by @njhoffman in #2078
- fix:
Telescopecommand lsp_definition call (and potentially more) by @Conni2461 in #2086 - fix: move the moon behind show_moon option (… by @stevenp2 in #2079
- Fix error due to concatenating table to string by @christoph-blessing in #2108
- fix(resolve): Check val not nil in resolve funcs by @chmnchiang in #2097
- fix: restore testing framework to actually work by @tjdevries in #2070
- fix(buffer_previewer): terminal path validation by @fdschmidt93 in #2117
- fix(previewer): regression on live_grep by @fdschmidt93 in #2119
- fix: previewer if cwd is not curr dir by @Conni2461 in #2084
- chore: reduce log level to trace in pickers.lua by @smjonas in #2124
- Fix to find_files to force color=never by @brymon68 in #2130
- docs: change arguments in keymap table (#2111) by @klephron in #2125
- Fix: typo in docs by @emielvanseveren in #2100
- default entry_maker not set properly by @mnowotnik in #2116
- Add drop command for buffers by @n0bra1n3r in #2131
- Use extmarks for highlighting and carets by @codegangsta in #2099
- Revert "Use extmarks for highlighting and carets" by @fdschmidt93 in #2138
- fix: pickers: Redraw telescope picker always when screen is resized by @Akianonymus in #2140
- feat(sorters): add highlighter to fuzzy_with_index_bias by @MunifTanjim in #2134
- fix: remove un-needed check by @alexeRadu in #2144
- fix(preview): update buffer previewer to upstream changes by @clason in #2150
- fix: nop i_ because we dont want allow new line by @Conni2461 in #2147
- fix: previewer if custom_captures are set by @Conni2461 in #2156
- feat: added support for tabdrop by @rkoval in #2143
- Update documentation for git_files and live_grep by @SammRosenthal in #2133
- Update README.md by @briandipalma in #2126
- docs: update oneshot finder example by @kid-icarus in #2167
- fix(lsp): don't include current line in lsp_references if current_line=false by @marcuscaisey in #2165
- fix: check for window before scrolling previewer by @smjonas in #2163
- fix: checktime when git checkout by @meijieru in #2176
- fix: builtin register picker better sorting by @tusqasi in #2175
- fix: ci by @Conni2461 in #2177
- docs: Add Lua-only key mappings examples by @sestrella in #2174
- feat(git): notify when not in a git repo instead of error by @antoinemadec in #2181
- Search with register name and content in builtin register picker. by @tusqasi in #2178
- fix: preview = true by @Conni2461 in #2168
- fix: selected icon highlight with color_devicons to false by @Diaoul in #2187
- Change builtin.diagnostics highlight groups to DiagnosticSign... by @nghialm269 in #2194
- perf(builtin): faster list extend for find_files by @kylo252 in #2205
- docs: Add to Lua-only key mappings examples by @Bonen0209 in #2197
- Allow table as additional args in live grep and grep string by @gepbird in #2139
- fix: rg invert and files-with-matches res line parsing by @Conni2461 in #2208
- Revert "feat(git): notify when not in a git repo instead of error" by @Conni2461 in #2217
- fix: generate.refine with border=false by @Conni2461 in #2223
- feat: the parameter "map" of attach_mappings can be list of modes to create mapping on multiple modes by @adoyle-h in #2220
- Add jump_type option for lsp_references by @gepbird in #2218
- Fixes not changing files when request only returns 1 result by @Gordin in #2229
- feat(picker): command history filter by @kkharji in #2132
- Sort branches by authordate by @thraizz in #2236
- Add new action to open quickfix window from quickfixhistory by @kyoh86 in #2249
- feat(picker): keymaps display noremap/buffer indicators and add lhs filter by @younger-1 in #2246
- Add configuration to fix encoding of output of find_command in find_files by @zbq in #2232
- support for multi-part file extensions like *.test.js by @mrjones2014 in #2252
- fix: icons with multiple dots but without custom overrides by @Conni2461 in #2256
- fix(builtin.commands): no preview for multiline description commands by @antonk52 in #2244
- docs: Fixed a typo by @TheKhanj in #2254
- fix(builtin.live_grep): add spacer ":" even when coordinates disabled by @l-kershaw in #2275
- fix: misidentification invert and files_with_matches (#2240) by @fcying in #2262
- fix: jumplist picker indexing the line after by @Hippo0o in #2273
- chore: bump ci to more modern os and nvim versions by @Conni2461 in #2289
- docs: point to correct lua modules by @craigmac in #2284
- feat(git): git_commits shows the current branch graph by @CyanJoeng in #2288
- docs: fix typos/wording by @tsakirist in #2283
- Fix #2157: do not use nvim_buf_line_count on unloaded buffers by @tzachar in #2261
- Note that live_grep uses ripgrep in README by @Gian-Laager in #2305
- fix: correctly parse filenames with special chars in git_status by @smjonas in #2296
- fix: live_grep additional_args parsing by @Conni2461 in #2306
- fix(tests): uses testharness in scrolling strategy by @adamtajti in #2307
- fix(old_files): opts.cwd_only includes similarly named dirs by @emmanueltouzery in #2308
- feat: add rockspec + luarocks upload workflow by @mrcjkb in #2276
- feat(pickers): add opt.show_remote_tracking_branches to git_branches by @64 in #2314
- fix: docgen ci failure by @Conni2461 in #2323
- fix: use path separator from builtin utils in cwd_only by @hasansujon786 in #2340
- fix: escape filename used in drop commands by @n0bra1n3r in #2339
- Fix unfinised sentence in docs by @cristiansofronie in #2335
- docs: proof-read edits by @jamestrew in https://github.com/nvim-...
telescope v0.1.8
telescope v0.1.7
This mostly adds better support for neovim 0.10.0, thanks to everyone who contributed. Big thanks to @jamestrew who did the majority of the work for this release.
Full changelog:
- docs(readme): clean up command example (#2984)
- fix: select correct results row with sorting_strategy=ascending (#2986)
- fix: remove duplicate lazyloaded items in colorscheme (#2951)
- fix(lsp): incoming/outgoing_call range locations (#2985)
- docs(builtin.colorscheme): add
colorsoption desc (#2989) - fix(builtin.lsp): extra No Name buffer opening with jump_type (#2990)
- fix(builtin.lsp): bad check for
jump_typeoption (#2991) - fix: expand/normalize paths more selectively (#2628)
- fix(previewer): don't escape paths for fs_stat (#2996)
- fix(utils.path_expand): improve windows support (#2999)
- fix(previewer): preview message out of bounds (#3003)
- test(utils): add unit test for
transform_path(#3013) - fix(marks): preserve uri filenames with path_expand (#3029)
- fix(actions): set function name for
generate.which_key(#3044) - build: rework ci tests to include windows (#3011)
- fix(which_key): increase zindex for popup window (#3046)
- fix(which_key): close window on mouse click action (#3053)
- fix(buffer_previewer): no preview showing when
set nomodifiable(#3077) - fix(picker): notify on empty quickfix and loclist (#3082)
- fix(builtin.commands): don't remap for feedkeys (#3087)
- fix(previewer): improve binary mime type check (#3083)
- fix(builtin.oldfiles): fix cwd_only for windows (#3096)
- fix(checkhealth): windows binary existence check (#3093)
- fix(picker): set
current_linestate earlier (#3052) - fix(builtin.buffers): previews with specified
cwdoption (#3111) - fix(builtin.colorscheme): preview colorscheme without previewer (#3097)
- fix: adapt to Nvim deprecations in 0.10 (#3109)
- fixup: adapt to deprecations in Nvim 0.10 (#3112)
- fixup: adapt to deprecations in Nvim 0.10 (#3113)
- chore: add neovim v0.10.0 to ci matrix (#3121)
telescope v0.1.6
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_cwdhandling 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)
telescope v0.1.5
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)
telescope v0.1.4
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_prefixleading 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)
telescope v0.1.3
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_uriempty 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)
v0.1.2
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 classerror (#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_querydeprecated (#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
:botrightmodifier for quickfix window open (#2554) - refactor(mappings): use vim.keymap and remove __TelescopeKeymapStore (#2551)
- fix(actions): which_key after mappings rework (#2556)
v0.1.1
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:
Telescopecommand 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
telescope.nvim 0.1.0
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
- Allows you to swap out backend functionality for our own implementations
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