I also think that we could send proper LSP events to the plug-ins after cloning. (even restarting only LSP)
Refreshing of restarting plug-ins it's not good as well for UX as some UIs elements provided by plug-ins might disappear/blink/reappear
about
>>- Che can't know wether a plugin is a language server or not
>A VS Code extension can plug into any number of API's. It is activated upon certain events that occur in the IDE. While we may be able to detect plugins that use certain plugin points (code assist, for example), we don't have support for this right now in Theia.
We could have heuristic to detect that automatically.
But right now all Language server plugins are packaged with their own docker image and wrapped in a che plug-in.
So we can add any metadata information into the che plugin and handle the case if a LSP plugin need a restart or it's handled by LSP implementation. (as you said some LSP are supporting, others not)
about delaying LSP after cloning, I dislike the idea as well, it would result in having all the stuff synchronous.
Let say you need to clone 20 projects, one big repository, you would need to wait that all repositories are cloned.
Florent