From 9edf43dc0717cea5a08e7e34d29d9a37745e07f1 Mon Sep 17 00:00:00 2001 From: Chet Husk Date: Mon, 17 Jun 2024 09:21:05 -0500 Subject: [PATCH] update FSAC and add support for new FSI options --- RELEASE_NOTES.md | 9 +++++++++ global.json | 5 ++--- paket.lock | 4 ++-- release/package.json | 15 +++++++++++---- src/Components/Fsi.fs | 7 ++++--- 5 files changed, 28 insertions(+), 12 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 0ab9c54e..4e49bc4b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,12 @@ +### 7.20.2 - 17.06.2024 + +* Update to FSAC 0.73.1. This release splits out the settings for `FSharp.FSIExtraParameters` into two groups: + * `FSharp.FSIExtraInteractiveParameters`, used when actually launching FSI instances in VSCode + * `FSharp.FSIExtraSharedParameters` used when doing IDE analysis of scripts. + * Options like `--consolecolors` would go in `FSharp.FSIExtraInteractiveParameters`, while options like `--debug` would go in `FSharp.FSIExtraSharedParameters`. This should help prevent issues where FSI is launched with options that are not supported by the IDE analysis. +* FSAC 0.73.1 also includes fixes for tooltip rendering of optional parameters and generic type parameters. +* Bumped the F# textmate grammar to get [several](https://github.com/ionide/ionide-fsgrammar/pull/211) [really](https://github.com/ionide/ionide-fsgrammar/pull/212) [awesome](https://github.com/ionide/ionide-fsgrammar/pull/214) [fixes](https://github.com/ionide/ionide-fsgrammar/pull/215) from @brianrourkeboll + ### 7.20.1 - 17.05.2024 * Fixed: The .NET 8 build of FsAutoComplete wasn't being included in the build. Now it is! diff --git a/global.json b/global.json index 90aa1840..33021c04 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,5 @@ { "sdk": { - "version": "7.0.200", - "rollForward": "latestFeature" + "version": "8.0.100" } -} +} \ No newline at end of file diff --git a/paket.lock b/paket.lock index 65b72db9..ef09b3be 100644 --- a/paket.lock +++ b/paket.lock @@ -38,7 +38,7 @@ NUGET FSharp.Core (>= 4.7.2) GIT remote: https://github.com/ionide/ionide-fsgrammar.git - (7d029a46f17637228b2ee85dd02e511c3e8039b3) + (0100f551f6c32598a58aba97344bf828673fec7a) GITHUB remote: ionide/ionide-vscode-helpers src/Fable.Import.Showdown.fs (8e81bc03f11f07b8e0811b3d4598eadc78f32f2f) @@ -241,4 +241,4 @@ STORAGE: PACKAGES RESTRICTION: == netstandard2.0 NUGET remote: https://api.nuget.org/v3/index.json - fsautocomplete (0.73) + fsautocomplete (0.73.1) diff --git a/release/package.json b/release/package.json index 31f8847d..b41c2bff 100644 --- a/release/package.json +++ b/release/package.json @@ -252,10 +252,6 @@ }, "title": "Show project status" }, - { - "command": "fsharp.explorer.renameFile", - "title": "Rename file" - }, { "command": "fsharp.explorer.addProjecRef", "title": "Add project reference" @@ -640,6 +636,17 @@ "FSharp.fsiExtraParameters": { "default": [], "markdownDescription": "An array of additional command line parameters to pass to FSI when it is started. See [the Microsoft documentation](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/fsharp-interactive-options) for an exhaustive list.", + "type": "array", + "markdownDeprecationMessage": "This setting can lead to errors when providing both FSI-CLI-only and script-typechecking-related parameters. Please use `#FSharp.FSIExtraInteractiveParameters#` for FSI-CLI-specific parameters, and `#FSharp.FSIExtraSharedParameters#` for typechecking-related parameters." + }, + "FSharp.FSIExtraSharedParameters": { + "default": [], + "markdownDescription": "An array of additional command line parameters to pass to the compiler to use when checking FSI scripts. See [the Microsoft documentation](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/fsharp-interactive-options) for an exhaustive list. If both this and `#FSharp.fsiExtraParameters#` are used, only `#FSharp.fsiExtraParameters#` will be used.", + "type": "array" + }, + "FSharp.FSIExtraInteractiveParameters": { + "default": [], + "markdownDescription": "An array of additional command line parameters to pass to FSI when it is launched. See [the Microsoft documentation](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/fsharp-interactive-options) for an exhaustive list. If both this and `#FSharp.fsiExtraParameters#` are used, both sets of arguments will be passed to the launched FSI.", "type": "array" }, "FSharp.fsiSdkFilePath": { diff --git a/src/Components/Fsi.fs b/src/Components/Fsi.fs index 6857aab5..94d4b927 100644 --- a/src/Components/Fsi.fs +++ b/src/Components/Fsi.fs @@ -359,9 +359,10 @@ module Fsi = let parms = let fsiParams = - "FSharp.fsiExtraParameters" - |> Configuration.get Array.empty - |> List.ofArray + Array.append + (Configuration.get Array.empty "FSharp.fsiExtraParameters") + (Configuration.get Array.empty "FSharp.FSIExtraInteractiveParameters") + |> Array.toList let p = node.path.join (VSCodeExtension.ionidePluginPath (), "watcher", "watcher.fsx")