Use file watches for all workspace files#1880
Merged
Merged
Conversation
pepeiborra
force-pushed
the
file-watches-for-all
branch
from
May 31, 2021 23:06
6720435 to
9a782b7
Compare
wz1000
reviewed
Jun 1, 2021
| -- support that: https://github.com/bubba/lsp-test/issues/77 | ||
| watchers = [ watcher (Text.pack glob) | glob <- globs ] | ||
|
|
||
| void $ LSP.sendRequest LSP.SClientRegisterCapability regParams (const $ pure ()) -- TODO handle response |
Collaborator
There was a problem hiding this comment.
Ideally we would block waiting for the response return and return a result depending on whether it was successful.
Collaborator
Author
There was a problem hiding this comment.
This is an old TODO, it's not something added in this PR. I agree that we should wait for the response, but maybe not for this PR
Collaborator
Author
There was a problem hiding this comment.
BTW I checked this and lsp-test doesn't seem to implement this part of the protocol, opened haskell/lsp#333
wz1000
approved these changes
Jun 1, 2021
pepeiborra
marked this pull request as ready for review
June 1, 2021 10:27
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR hooks up the
GetModificationTimerule to install new file watchers for workspace files that are not already covered by the initial glob that we install, consolidating the tracking of workspace changes. There are two main use cases for this:hie.yamlfile and the cabal/stack descriptorsaddDependentFile.The implementation adds a new zero-dependency rule
AddWatchedFilethat creates the file watches, and makesGetModificationTimedepend on it. The rest of the changes are mostly refactorings needed to hook things up.The motivation for this change is not just consolidation or performance. This is required in #1862 to be able to track changes in the use cases listed above.