Skip to content

Commit 190dccd

Browse files
authored
Merge branch 'feature/lsp' into merge/main-to-feature/lsp
2 parents c4dfbd5 + 7c1b962 commit 190dccd

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

vsintegration/src/FSharp.Editor/LanguageService/WorkspaceExtensions.fs

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -58,27 +58,31 @@ module internal SolutionConfigCache =
5858
Set.contains this.GetSemanticHighlightingFrom (set [ FSharpExtensionConfig.Old; FSharpExtensionConfig.Both ])
5959

6060
let readFSharpExtensionConfig (solutionPath: string) =
61-
let configFilePath =
62-
Path.Combine(solutionPath, "extensibility.settings.VisualStudio.json")
61+
if String.IsNullOrEmpty(solutionPath) then
62+
System.Diagnostics.Trace.TraceWarning("Solution path is null or empty. Using default config.")
63+
FSharpExtensionConfig.Default
64+
else
65+
let configFilePath =
66+
Path.Combine(solutionPath, "extensibility.settings.VisualStudio.json")
6367

64-
if File.Exists configFilePath then
65-
try
66-
let json = File.ReadAllText configFilePath
67-
let jObject = JObject.Parse json
68+
if File.Exists configFilePath then
69+
try
70+
let json = File.ReadAllText configFilePath
71+
let jObject = JObject.Parse json
6872

69-
{
70-
GetDiagnosticsFrom = jObject["fsharp.getDiagnosticsFrom"].ToString().ToLower()
71-
GetSemanticHighlightingFrom = jObject["fsharp.getSemanticHighlightingFrom"].ToString().ToLower()
72-
}
73-
with ex ->
74-
System.Diagnostics.Trace.TraceError($"Error reading FSharpExtensionConfig from {configFilePath}", ex)
75-
FSharpExtensionConfig.Default
76-
else
77-
System.Diagnostics.Trace.TraceInformation(
78-
$"extensibility.settings.VisualStudio.json not found in {solutionPath}. Using default config."
79-
)
73+
{
74+
GetDiagnosticsFrom = jObject["fsharp.getDiagnosticsFrom"].ToString().ToLower()
75+
GetSemanticHighlightingFrom = jObject["fsharp.getSemanticHighlightingFrom"].ToString().ToLower()
76+
}
77+
with ex ->
78+
System.Diagnostics.Trace.TraceError($"Error reading FSharpExtensionConfig from {configFilePath}", ex)
79+
FSharpExtensionConfig.Default
80+
else
81+
System.Diagnostics.Trace.TraceInformation(
82+
$"extensibility.settings.VisualStudio.json not found in {solutionPath}. Using default config."
83+
)
8084

81-
FSharpExtensionConfig.Default
85+
FSharpExtensionConfig.Default
8286

8387
let ExtensionConfig = ConditionalWeakTable<Solution, FSharpExtensionConfig>()
8488

0 commit comments

Comments
 (0)