@@ -20,16 +20,17 @@ type FSharpChecker with
2020 checker.ParseDocument( document, parsingOptions, sourceText= sourceText.ToString(), userOpName= userOpName)
2121
2222member checker.ParseAndCheckDocument ( filePath : string , textVersionHash : int , sourceText : string , options : FSharpProjectOptions , allowStaleResults : bool , userOpName : string ) =
23- let parseAndCheckFile =
24- async {
25- let! parseResults , checkFileAnswer = checker.ParseAndCheckFileInProject( filePath, textVersionHash, sourceText, options, userOpName= userOpName)
26- return
27- match checkFileAnswerwith
28- | FSharpCheckFileAnswer.Aborted->
29- None
30- | FSharpCheckFileAnswer.Succeeded( checkFileResults) ->
31- Some( parseResults, checkFileResults)
32- }
23+ async {
24+ let parseAndCheckFile =
25+ async {
26+ let! parseResults , checkFileAnswer = checker.ParseAndCheckFileInProject( filePath, textVersionHash, sourceText, options, userOpName= userOpName)
27+ return
28+ match checkFileAnswerwith
29+ | FSharpCheckFileAnswer.Aborted->
30+ None
31+ | FSharpCheckFileAnswer.Succeeded( checkFileResults) ->
32+ Some( parseResults, checkFileResults)
33+ }
3334
3435let tryGetFreshResultsWithTimeout () =
3536async {
@@ -40,16 +41,15 @@ type FSharpChecker with
4041return None// worker is cancelled at this point, we cannot return it and wait its completion anymore
4142}
4243
43- let bindParsedInput ( results : ( FSharpParseFileResults * FSharpCheckFileResults )option ) =
44- match resultswith
45- | Some( parseResults, checkResults) ->
46- match parseResults.ParseTreewith
47- | Some parsedInput-> Some( parseResults, parsedInput, checkResults)
44+ let bindParsedInput ( results : ( FSharpParseFileResults * FSharpCheckFileResults )option ) =
45+ match resultswith
46+ | Some( parseResults, checkResults) ->
47+ match parseResults.ParseTreewith
48+ | Some parsedInput-> Some( parseResults, parsedInput, checkResults)
49+ | None-> None
4850| None-> None
49- | None-> None
5051
51- if allowStaleResultsthen
52- async {
52+ if allowStaleResultsthen
5353let! freshResults = tryGetFreshResultsWithTimeout()
5454
5555let! results =
@@ -69,7 +69,6 @@ type FSharpChecker with
6969return bindParsedInput results
7070}
7171
72-
7372member checker.ParseAndCheckDocument ( document : Document , options : FSharpProjectOptions , allowStaleResults : bool , userOpName : string , ? sourceText : SourceText ) =
7473async {
7574let! cancellationToken = Async.CancellationToken