Justin Grote

Results 874 comments of Justin Grote

I looked into this some more and it looks like things are working fine up to a point where the delta semanticTokens doesn't get a response, and I assume vscode...

So it seems to be that if the operation is canceled, somewhere that's not getting handled correctly. If you do one edit at a time and wait, it works fine,...

OK, I'm very sure it's this problem: https://github.com/OmniSharp/csharp-language-server-protocol/issues/784 Implementing the workaround fixes it, however the average request processing goes up to 500ms with a lot of typing, which is unacceptable....

@MartinGC94 unfortunately the "Omnisharp" LSP in the C# extension has been replaced by a closed source LSP, they no longer use this as their underlying engine, and there's real concern...

I checked the Bicep implementation which uses the same omnisharp LSP, and I didn't see any kind of special handling there, so maybe it also affects them, I'll have to...

Here's a potential clue from bicep: ![Image](https://github.com/user-attachments/assets/66b0d78c-b20f-4883-8538-6935fdf47779) I'm guessing they made all their requests parallel based instead of serial based, so the serial/parallel switchover cancellation doesn't ever happen.

It appears the cancellation of the completionHandler causes an unhandled cancellation exception in our `GetCommandInfoAsync` here, most likely because we have passed our handler cancellation token to `ExecutePSCommandAsync` and it...

Can't believe I didn't spot this earlier. In registration our completion handler has been forced to serial mode, and I'm guessing Omnisharp didn't account/test for this. ![Image](https://github.com/user-attachments/assets/e1d7de35-28a5-4026-98e2-800b4b1d6622) @SeeminglyScience since not...

Removing the serial does fix it, the cancellation still happens but it doesn't cause the parallel to serial switch (since all commands past didChange are parallel) and doesn't cause the...

@SeeminglyScience @andyleejordan I made this a fairly minimal PR to be easy to review. Additional things I plan to do next as future incrementals - Add start/end/column positioning to all...