You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of the LSP import process, we have to collect diagnostics, which are used to display erosion icons.
LSP diagnostics can be sent to the client in two ways:
Pull-based, which is no problem—we can just query each file for its diagnostics as we construct the graph. However, barely any language server has implemented this, as it is a recent (LSP 3.17) feature.
Publish-based, which the vast majority of language servers actually use. This is an issue, as we have to wait for the server to emit diagnostics for each file we opened. We cannot actually wait until all diagnostics are present, since there is (AFAIK) no notification that tells us that diagnostics processing is done.
Currently, we handle publish-based diagnostics by listening for diagnostic messages until the end of the LSP import process, any further diagnostics are then lost. This should be changed so that diagnostics keep being collected in the background, updating the nodes in the process. Additionally, the ErosionIssues has to become an observer of the nodes and has to update the icons whenever a change occurs, preferably only once per frame (or even less often than that).
The text was updated successfully, but these errors were encountered:
As part of the LSP import process, we have to collect diagnostics, which are used to display erosion icons.
LSP diagnostics can be sent to the client in two ways:
Currently, we handle publish-based diagnostics by listening for diagnostic messages until the end of the LSP import process, any further diagnostics are then lost. This should be changed so that diagnostics keep being collected in the background, updating the nodes in the process. Additionally, the
ErosionIssues
has to become an observer of the nodes and has to update the icons whenever a change occurs, preferably only once per frame (or even less often than that).The text was updated successfully, but these errors were encountered: