Skip to content

Commit b6ab51f

Browse files
committed
Fable parsing fix
1 parent cb4c558 commit b6ab51f

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

fcs/fcs-fable/adapters.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ module System =
7878
else path.Substring(i)
7979

8080
let GetInvalidPathChars () = //TODO: proper xplat implementation
81-
Seq.toArray "<>:\"|\\/?*\b\t"
81+
Seq.toArray "<>:\"|?*\b\t"
8282

8383
let GetInvalidFileNameChars () = //TODO: proper xplat implementation
8484
Seq.toArray "<>:\"|\\/?*\b\t"

fcs/fcs-fable/service_shim.fs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -287,15 +287,15 @@ type InteractiveChecker internal (tcConfig, tcGlobals, tcImports, tcInitialState
287287
let details = (tcGlobals, tcImports, tcState.Ccu, tcState.CcuSig, symbolUses, topAttrsOpt, assemblyDataOpt, assemblyRef, access, tcImplFilesOpt, dependencyFiles)
288288
FSharpCheckProjectResults (projectFileName, Some tcConfig, true, errors, Some details)
289289

290-
member private x.ParseScript (filename: string, source: string) =
291-
let parsingOptions = FSharpParsingOptions.FromTcConfig(tcConfig, [| filename |], true)
290+
member private x.ParseScript (filename: string, source: string, parsingOptions: FSharpParsingOptions) =
292291
let parseErrors, parseTreeOpt, anyErrors = Parser.parseFile (source, filename, parsingOptions, userOpName)
293292
let parseTreeOpt = parseTreeOpt |> Option.map (DeduplicateParsedInputModuleName moduleNamesDict)
294293
let dependencyFiles = [||] // interactions have no dependencies
295294
FSharpParseFileResults (parseErrors, parseTreeOpt, anyErrors, dependencyFiles)
296295

297296
member x.ParseAndCheckScript (projectFileName, filename: string, source: string) =
298-
let parseResults = x.ParseScript (filename, source)
297+
let parsingOptions = FSharpParsingOptions.FromTcConfig(tcConfig, [| filename |], true)
298+
let parseResults = x.ParseScript (filename, source, parsingOptions)
299299
let loadClosure = None
300300
let backgroundErrors = [||]
301301
let checkAlive = fun () -> true
@@ -340,7 +340,8 @@ type InteractiveChecker internal (tcConfig, tcGlobals, tcImports, tcInitialState
340340
FSharpCheckFileResults (filename, errors, Some scope, parseRes.DependencyFiles, None, reactorOps, true)
341341

342342
// parse files
343-
let parseScript (filename, source) = x.ParseScript(filename, source)
343+
let parsingOptions = FSharpParsingOptions.FromTcConfig(tcConfig, fileNames, true)
344+
let parseScript (filename, source) = x.ParseScript(filename, source, parsingOptions)
344345
let parseResults = Array.zip fileNames sources |> Array.map parseScript
345346
let parseHadErrors = parseResults |> Array.exists (fun p -> p.ParseHadErrors)
346347
let inputs = parseResults |> Array.choose (fun p -> p.ParseTree) |> Array.toList
@@ -369,7 +370,8 @@ type InteractiveChecker internal (tcConfig, tcGlobals, tcImports, tcInitialState
369370
use errorScope = new ErrorScope()
370371

371372
// parse files
372-
let parseScript (filename, source) = x.ParseScript(filename, source)
373+
let parsingOptions = FSharpParsingOptions.FromTcConfig(tcConfig, fileNames, true)
374+
let parseScript (filename, source) = x.ParseScript(filename, source, parsingOptions)
373375
let parseResults = Array.zip fileNames sources |> Array.map parseScript
374376
let parseHadErrors = parseResults |> Array.exists (fun p -> p.ParseHadErrors)
375377
let inputs = parseResults |> Array.choose (fun p -> p.ParseTree) |> Array.toList

0 commit comments

Comments
 (0)