@@ -2290,6 +2290,16 @@ type internal FsiInteractionProcessor
22902290 | EndOfFile -> istate, defaultArg lastResult ( Completed None) (* drop nextAction on EOF *)
22912291 | CtrlC -> istate, CtrlC (* drop nextAction on CtrlC *)
22922292
2293+ /// Execute a single parsed interaction which may contain multiple items to be executed
2294+ /// independently
2295+ let executeParsedInteractions ( ctok , tcConfig , istate , action , errorLogger : ErrorLogger , lastResult : option < FsiInteractionStepStatus >, cancellationToken : CancellationToken ) =
2296+ let istate , completed = execParsedInteractions ( ctok, tcConfig, istate, action, errorLogger, lastResult, cancellationToken)
2297+ match completed with
2298+ | Completed _ ->
2299+ let istate = fsiDynamicCompiler.CommitDependencyManagerText( ctok, istate, lexResourceManager, errorLogger)
2300+ istate, completed
2301+ | _ -> istate, completed
2302+
22932303 /// Execute a single parsed interaction on the parser/execute thread.
22942304 let mainThreadProcessAction ctok action istate =
22952305 try
@@ -2314,7 +2324,7 @@ type internal FsiInteractionProcessor
23142324
23152325 let mainThreadProcessParsedInteractions ctok errorLogger ( action , istate ) cancellationToken =
23162326 istate |> mainThreadProcessAction ctok ( fun ctok tcConfig istate ->
2317- execParsedInteractions ( ctok, tcConfig, istate, action, errorLogger, None, cancellationToken))
2327+ executeParsedInteractions ( ctok, tcConfig, istate, action, errorLogger, None, cancellationToken))
23182328
23192329 let parseExpression ( tokenizer : LexFilter.LexFilter ) =
23202330 reusingLexbufForParsing tokenizer.LexBuffer ( fun () ->
0 commit comments