added a new DynamicFinder (which can be used with rust_analyzer)#705
added a new DynamicFinder (which can be used with rust_analyzer)#705tjdevries merged 44 commits intonvim-telescope:masterfrom
Conversation
be8d980 to
4ba827a
Compare
* upstream/master: picker(live_grep): add option to grep only over open files (nvim-telescope#666) git(action): create and checkout branch (nvim-telescope#755) readme: fix broken links and spelling errors (nvim-telescope#753) added a new DynamicFinder (which can be used with rust_analyzer) (nvim-telescope#705) feat: add icons to git_status finder (nvim-telescope#401) fix: update to newer code (nvim-telescope#744) pickers(buffers): added only_cwd opt (nvim-telescope#739) feat: asyncify pickers - except for live_grep (nvim-telescope#709) fix: Use standardized names for current buffer fuzzy find (nvim-telescope#737) fix(git_branches): use the quoted fields instead of json-formatting and fix regressions with nvim-telescope#695 (nvim-telescope#704) feat: buf highlights for current buffer fuzzy find (nvim-telescope#732)
It turns out most language servers return an empry list of symbols for an empty query (which tsserver was doing). See nvim-telescope/telescope.nvim#568 Fixed by nvim-telescope/telescope.nvim#705
|
When I try to use this, I always get this error:
Is there some special branch of plenary that I need to be on for this to work? |
|
Ah turns out this happens when having multiple language servers (I use both clangd and ccs). Maybe there could be an option to only use a specific server? |
|
Yeah that is a known issue, it is because I didn't update it to use the new |
|
|
|
Currently there is an attempt to document all builtins (readme + vim doc (includes options of builtins)), here: #783 Its almost done |
That's good to know! |
note requires async await nvim-lua/plenary.nvim#83
If you want to test this new finder you can run
:Telescope lsp_dynamic_workspace_symbolswith rust_analyzer or another lsp server. The picker is completely asynchronous as it usesbuf_requestThe implementation of this is not good because there is no way for a finder to check if that specific find has been canceled. This can cause many issues with asynchronous finds because if the user has typed an additional character it will still be working on the previous find, causing ui distortions because the old find will still try to change the buffer. This can be fixed by giving the finder a cancellation channel to check. Furthermore, finders will set the screen on every entry instead of processing all the entries first and then setting them all together. This is another issue as it can cause extreme flickering. This can be seen with this finder and also the
JobFinder(which live grep uses). #691 solves these issues so we will probably have to wait for that. It also allows stuff to be asynchronously processed