diff --git a/frontend/src/main/scala/bloop/engine/Interpreter.scala b/frontend/src/main/scala/bloop/engine/Interpreter.scala index 445d78bc1f..750718f2bf 100644 --- a/frontend/src/main/scala/bloop/engine/Interpreter.scala +++ b/frontend/src/main/scala/bloop/engine/Interpreter.scala @@ -94,10 +94,14 @@ object Interpreter { } private[bloop] def watch(project: Project, state: State, f: State => Task[State]): Task[State] = { + import state.logger val reachable = Dag.dfs(state.build.getDagFor(project)) val allSourceDirs = reachable.iterator.flatMap(_.sourceDirectories.toList).map(_.underlying) val watcher = new SourceWatcher(project, allSourceDirs.toList, state.logger) - val fg = (state: State) => f(state).map(state => State.stateCache.updateBuild(state)) + val fg = (state: State) => f(state).map { state => + logger.info("Waiting for source changes... (press C-c to interrupt)") + State.stateCache.updateBuild(state) + } // Force the first execution before relying on the file watching task fg(state).flatMap(newState => watcher.watch(newState, fg))