@@ -604,6 +604,9 @@ type NotificationsDto =
604604 { Trace: bool option
605605 TraceNamespaces: string array option }
606606
607+ type BuildOptionsDto =
608+ { MsBuildProperties: string array option }
609+
607610type DebugDto =
608611 { DontCheckRelatedFiles: bool option
609612 CheckFileDebouncerTimeout: int option
@@ -648,6 +651,7 @@ type FSharpConfigDto =
648651 PipelineHints: InlineValueDto option
649652 InlayHints: InlayHintDto option
650653 Notifications: NotificationsDto option
654+ BuildOptions: BuildOptionsDto option
651655 Debug: DebugDto option }
652656
653657type FSharpConfigRequest = { FSharp: FSharpConfigDto }
@@ -695,6 +699,18 @@ type NotificationsConfig =
695699 { Trace = defaultArg dto.Trace this.Trace
696700 TraceNamespaces = defaultArg dto.TraceNamespaces this.TraceNamespaces }
697701
702+ type BuildOptions =
703+ { MsBuildProperties: string array }
704+
705+ static member Default = { MsBuildProperties = [||] }
706+
707+ static member FromDto ( dto : BuildOptionsDto ) : BuildOptions =
708+ { MsBuildProperties = defaultArg dto.MsBuildProperties BuildOptions.Default.MsBuildProperties }
709+
710+
711+ member this.AddDto ( dto : BuildOptionsDto ) : BuildOptions =
712+ { MsBuildProperties = defaultArg dto.MsBuildProperties this.MsBuildProperties }
713+
698714type DebugConfig =
699715 { DontCheckRelatedFiles: bool
700716 CheckFileDebouncerTimeout: int
@@ -745,6 +761,7 @@ type FSharpConfig =
745761 InlayHints: InlayHintsConfig
746762 InlineValues: InlineValuesConfig
747763 Notifications: NotificationsConfig
764+ BuildOptions: BuildOptions
748765 Debug: DebugConfig }
749766
750767 static member Default : FSharpConfig =
@@ -785,6 +802,7 @@ type FSharpConfig =
785802 InlayHints = InlayHintsConfig.Default
786803 InlineValues = InlineValuesConfig.Default
787804 Notifications = NotificationsConfig.Default
805+ BuildOptions = BuildOptions.Default
788806 Debug = DebugConfig.Default }
789807
790808 static member FromDto ( dto : FSharpConfigDto ) : FSharpConfig =
@@ -853,6 +871,10 @@ type FSharpConfig =
853871 dto.Notifications
854872 |> Option.map NotificationsConfig.FromDto
855873 |> Option.defaultValue NotificationsConfig.Default
874+ BuildOptions =
875+ dto.BuildOptions
876+ |> Option.map BuildOptions.FromDto
877+ |> Option.defaultValue BuildOptions.Default
856878 Debug =
857879 match dto.Debug with
858880 | None -> DebugConfig.Default
@@ -939,6 +961,10 @@ type FSharpConfig =
939961 dto.Notifications
940962 |> Option.map x.Notifications.AddDto
941963 |> Option.defaultValue NotificationsConfig.Default
964+ BuildOptions =
965+ dto.BuildOptions
966+ |> Option.map x.BuildOptions.AddDto
967+ |> Option.defaultValue BuildOptions.Default
942968 Debug =
943969 match dto.Debug with
944970 | None -> DebugConfig.Default
0 commit comments