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

Document validation in language server should be async #231

Closed
glennsarti opened this issue Mar 14, 2018 · 1 comment
Closed

Document validation in language server should be async #231

glennsarti opened this issue Mar 14, 2018 · 1 comment

Comments

@glennsarti
Copy link
Contributor

The document validation/diagnostics part of the language server is executed on every document open or change event. While normally this is ok, when typing fast on large documents, this can create slowness. Particularly as we add more features which require longer running diagnostic processes.

This issue is track making the document validation asynchronous to reduce load when validating and to support upcoming features which may have long running validation processes.

@glennsarti glennsarti self-assigned this Mar 14, 2018
glennsarti added a commit to glennsarti/puppet-vscode that referenced this issue Mar 14, 2018
Previously the Document Store only tracked the content and uri for a document.
This commit adds the ability for the Document Store to tack the document
version.  This commit also makes the Document Store thread safe.
glennsarti added a commit to glennsarti/puppet-vscode that referenced this issue Mar 14, 2018
The document validation/diagnostics part of the language server is executed on
every document open or change event. While normally this is ok, when typing fast
on large documents, this can create slowness. Particularly as we add more
features which require longer running diagnostic processes.  This commit uses
a thread safe queue system which will only allow the document to exist in
the queue once.  Safeguards are also added which will ignore validation results
if the document is changed mid-validation.
glennsarti added a commit to glennsarti/puppet-vscode that referenced this issue Mar 14, 2018
The document validation/diagnostics part of the language server is executed on
every document open or change event. While normally this is ok, when typing fast
on large documents, this can create slowness. Particularly as we add more
features which require longer running diagnostic processes.  This commit uses
a thread safe queue system which will only allow the document to exist in
the queue once.  Safeguards are also added which will ignore validation results
if the document is changed mid-validation.
jpogran added a commit that referenced this issue Mar 20, 2018
(GH-231) Make document validation asynchronous
@glennsarti
Copy link
Contributor Author

Merged.

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

No branches or pull requests

1 participant