@@ -609,6 +609,9 @@ type NotificationsDto =
609609 { Trace: bool option
610610 TraceNamespaces: string array option }
611611
612+ type BuildOptionsDto =
613+ { MsBuildProperties: string array option }
614+
612615type DebugDto =
613616 { DontCheckRelatedFiles: bool option
614617 CheckFileDebouncerTimeout: int option
@@ -662,6 +665,7 @@ type FSharpConfigDto =
662665 InlayHints: InlayHintDto option
663666 Fsac: FSACDto option
664667 Notifications: NotificationsDto option
668+ BuildOptions: BuildOptionsDto option
665669 Debug: DebugDto option }
666670
667671type FSharpConfigRequest = { FSharp: FSharpConfigDto option }
@@ -725,6 +729,17 @@ type FSACConfig =
725729
726730 member this.AddDto ( dto : FSACDto ) =
727731 { CachedTypeCheckCount = defaultArg dto.CachedTypeCheckCount this.CachedTypeCheckCount }
732+ type BuildOptions =
733+ { MsBuildProperties: string array }
734+
735+ static member Default = { MsBuildProperties = [||] }
736+
737+ static member FromDto ( dto : BuildOptionsDto ) : BuildOptions =
738+ { MsBuildProperties = defaultArg dto.MsBuildProperties BuildOptions.Default.MsBuildProperties }
739+
740+
741+ member this.AddDto ( dto : BuildOptionsDto ) : BuildOptions =
742+ { MsBuildProperties = defaultArg dto.MsBuildProperties this.MsBuildProperties }
728743
729744type DebugConfig =
730745 { DontCheckRelatedFiles: bool
@@ -778,6 +793,7 @@ type FSharpConfig =
778793 InlineValues: InlineValuesConfig
779794 Notifications: NotificationsConfig
780795 Fsac: FSACConfig
796+ BuildOptions: BuildOptions
781797 Debug: DebugConfig }
782798
783799 static member Default : FSharpConfig =
@@ -820,6 +836,7 @@ type FSharpConfig =
820836 InlineValues = InlineValuesConfig.Default
821837 Notifications = NotificationsConfig.Default
822838 Fsac = FSACConfig.Default
839+ BuildOptions = BuildOptions.Default
823840 Debug = DebugConfig.Default }
824841
825842 static member FromDto ( dto : FSharpConfigDto ) : FSharpConfig =
@@ -893,6 +910,10 @@ type FSharpConfig =
893910 dto.Fsac
894911 |> Option.map FSACConfig.FromDto
895912 |> Option.defaultValue FSACConfig.Default
913+ BuildOptions =
914+ dto.BuildOptions
915+ |> Option.map BuildOptions.FromDto
916+ |> Option.defaultValue BuildOptions.Default
896917 Debug =
897918 match dto.Debug with
898919 | None -> DebugConfig.Default
@@ -981,6 +1002,10 @@ type FSharpConfig =
9811002 |> Option.map x.Notifications.AddDto
9821003 |> Option.defaultValue NotificationsConfig.Default
9831004 Fsac = dto.Fsac |> Option.map x.Fsac.AddDto |> Option.defaultValue FSACConfig.Default
1005+ BuildOptions =
1006+ dto.BuildOptions
1007+ |> Option.map x.BuildOptions.AddDto
1008+ |> Option.defaultValue BuildOptions.Default
9841009 Debug =
9851010 match dto.Debug with
9861011 | None -> DebugConfig.Default
0 commit comments