Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add async completion support #1986

Merged
merged 8 commits into from May 6, 2021
Merged

Commits on Apr 23, 2021

  1. Copy the full SHA
    cca719f View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2021

  1. Add async completion support

     The recent completion rewrite makes completion faster for a large number of cases, but it has a couple of issues:
    
     * Any completion provider that needs to make edits beyond the few we've special cased doesn't work correctly. Roslyn is looking to add more of these, such as dotnet/roslyn#47511.
    * Completion providers that we do special case can be _slow_.  Override and partial method completion in big types is painful, taking over a minute to show up sometimes.
    
    To resolve this, I've added support for async edits by adding a new completion end point: /completion/afterInsert. It takes the item that was inserted, the file, and the new cursor position. It relies on the InsertText that was inserted still allowing for resolving the completion in the same way as before, so I had to force a few providers that don't behave well here to be eagerly resolved, regardless. I also kept import completion using the standard /completion/resolve step to resolve extra edits, as they don't need to modify the current cursor location at all.
    333fred committed Apr 25, 2021
    Copy the full SHA
    4dbfde2 View commit details
    Browse the repository at this point in the history
  2. Fix reflection break.

    333fred committed Apr 25, 2021
    Copy the full SHA
    3dcce70 View commit details
    Browse the repository at this point in the history
  3. Fixup lsp test.

    333fred committed Apr 25, 2021
    Copy the full SHA
    71ea9cb View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2021

  1. Copy the full SHA
    32c740b View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2021

  1. PR Feedback

    333fred committed Apr 30, 2021
    Copy the full SHA
    43cb9fe View commit details
    Browse the repository at this point in the history

Commits on May 3, 2021

  1. Copy the full SHA
    0983ded View commit details
    Browse the repository at this point in the history

Commits on May 6, 2021

  1. Copy the full SHA
    fe1fa21 View commit details
    Browse the repository at this point in the history