ldelossa / litee.nvim

A framework for building Neovim plugins
409 stars 14 forks source link

perf: async symbol gathering #27

Closed ldelossa closed 2 years ago

ldelossa commented 2 years ago

LSPs may return different results depending on the method being requested.

for instance gopls will return no receiver name when a call hierarchy request is made, but will when a workspace symbol request is made.

to work around this we make a workspace symbol request for each call hierarchy item returned when a calltree is invoked.

this proved to be very slow when done sync so this commit makes it async using lua coroutines.

Signed-off-by: ldelossa louis.delos@gmail.com