Allow users to re-run watched scripts by pressing enter #1232
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.
Now a user can do two things during
--watch
: eitherCtrl-C
to exit, orEnter
to re-run. This is the first step in supporting the same functionality in Mill com-lihaoyi/mill#490.I also incorporated some of the upstream improvements in the Mill implementation of
def watchAndWait
https://github.com/com-lihaoyi/mill/blob/8c2ee3801f6471d4bf526f638c3668e4337c0fa6/main/src/mill/main/MainRunner.scala#L51-L67, which we should be able to largely replace with the original except for an override wrapping the original in the twosetIdle
calls.The nested functions were getting messy, so moved some of them out into separate helpers
Tested manually by running
./mill -i amm[2.12.10].run -w foo.sc x 1 true
on a dummy script, verified that pressingEnter
causes it to re-run while pressing other things doesn'tReview by @lefou @alexarchambault