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

Make background LSP requests wait for pending update #24

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bentsherman
Copy link
Member

Close #23

When a delayed update is scheduled, "background" LSP requests like document link and document symbol will await that update, so that they don't receive stale information.

"Foreground" requests like hover hint, completion, goto definition, etc should either force-update or just query against the current state, so as to not keep the user waiting.

@bentsherman
Copy link
Member Author

In vscode, the document link request seems to be delayed long enough to stay up to date, but the symbol request is not.

You can see this by showing the outline in the sidebar, then deleting a definition (e.g. function, process, workflow) in a script. The outline is updated "too soon" and still shows the missing definition. Similarly if you restore the definition, the outline gets updated too soon again and doesn't show the symbol.

So it seems like this fix will mostly apply to document symbols. But it should still be applied to all background requests to be safe, since different editors might behave differently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Some LSP requests should wait for debounced update
1 participant