Skip to content

Commit

Permalink
update FSAC and add support for new FSI options (#2016)
Browse files Browse the repository at this point in the history
  • Loading branch information
baronfel authored Jun 18, 2024
1 parent 4586785 commit da70f14
Show file tree
Hide file tree
Showing 8 changed files with 150 additions and 128 deletions.
9 changes: 9 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
### 7.20.2 - 17.06.2024

* Update to FSAC 0.73.2. 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.2 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!
Expand Down
2 changes: 1 addition & 1 deletion build/build.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.fs" />
Expand Down
5 changes: 2 additions & 3 deletions global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
{
"sdk": {
"version": "7.0.200",
"rollForward": "latestFeature"
"version": "8.0.100"
}
}
}
2 changes: 1 addition & 1 deletion paket.dependencies
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ group fsac
group build
source https://api.nuget.org/v3/index.json
storage: none
framework: net7.0
framework: net8.0

nuget Fake.Core.Target
nuget Fake.Core.Process
Expand Down
226 changes: 113 additions & 113 deletions paket.lock
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -47,7 +47,7 @@ GITHUB
src/Helpers.fs (8e81bc03f11f07b8e0811b3d4598eadc78f32f2f)
GROUP build
STORAGE: NONE
RESTRICTION: == net7.0
RESTRICTION: == net8.0
NUGET
remote: https://api.nuget.org/v3/index.json
BlackFox.VsWhere (1.1)
Expand All @@ -56,122 +56,122 @@ NUGET
Fake.Api.GitHub (5.20.4)
FSharp.Core (>= 4.7.2)
Octokit (>= 0.48)
Fake.Core.CommandLineParsing (5.23.1)
Fake.Core.CommandLineParsing (6.0)
FParsec (>= 1.1.1)
FSharp.Core (>= 6.0)
Fake.Core.Context (5.23.1)
FSharp.Core (>= 6.0)
Fake.Core.Environment (5.23.1)
FSharp.Core (>= 6.0)
Fake.Core.FakeVar (5.23.1)
Fake.Core.Context (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.Core.Process (5.23.1)
Fake.Core.Environment (>= 5.23.1)
Fake.Core.FakeVar (>= 5.23.1)
Fake.Core.String (>= 5.23.1)
Fake.Core.Trace (>= 5.23.1)
Fake.IO.FileSystem (>= 5.23.1)
FSharp.Core (>= 6.0)
System.Collections.Immutable (>= 5.0)
Fake.Core.ReleaseNotes (5.23.1)
Fake.Core.SemVer (>= 5.23.1)
Fake.Core.String (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.Core.SemVer (5.23.1)
FSharp.Core (>= 6.0)
Fake.Core.String (5.23.1)
FSharp.Core (>= 6.0)
Fake.Core.Target (5.23.1)
Fake.Core.CommandLineParsing (>= 5.23.1)
Fake.Core.Context (>= 5.23.1)
Fake.Core.Environment (>= 5.23.1)
Fake.Core.FakeVar (>= 5.23.1)
Fake.Core.Process (>= 5.23.1)
Fake.Core.String (>= 5.23.1)
Fake.Core.Trace (>= 5.23.1)
FSharp.Core (>= 6.0.3)
Fake.Core.Context (6.0)
FSharp.Core (>= 6.0.3)
Fake.Core.Environment (6.0)
FSharp.Core (>= 6.0.3)
Fake.Core.FakeVar (6.0)
Fake.Core.Context (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.Core.Process (6.0)
Fake.Core.Environment (>= 6.0)
Fake.Core.FakeVar (>= 6.0)
Fake.Core.String (>= 6.0)
Fake.Core.Trace (>= 6.0)
Fake.IO.FileSystem (>= 6.0)
FSharp.Core (>= 6.0.3)
System.Collections.Immutable (>= 6.0)
Fake.Core.ReleaseNotes (6.0)
Fake.Core.SemVer (>= 6.0)
Fake.Core.String (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.Core.SemVer (6.0)
FSharp.Core (>= 6.0.3)
Fake.Core.String (6.0)
FSharp.Core (>= 6.0.3)
Fake.Core.Target (6.0)
Fake.Core.CommandLineParsing (>= 6.0)
Fake.Core.Context (>= 6.0)
Fake.Core.Environment (>= 6.0)
Fake.Core.FakeVar (>= 6.0)
Fake.Core.Process (>= 6.0)
Fake.Core.String (>= 6.0)
Fake.Core.Trace (>= 6.0)
FSharp.Control.Reactive (>= 5.0.2)
FSharp.Core (>= 6.0)
Fake.Core.Tasks (5.23.1)
Fake.Core.Trace (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.Core.Trace (5.23.1)
Fake.Core.Environment (>= 5.23.1)
Fake.Core.FakeVar (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.Core.UserInput (5.23.1)
FSharp.Core (>= 6.0)
Fake.Core.Xml (5.23.1)
Fake.Core.String (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.DotNet.AssemblyInfoFile (5.23.1)
Fake.Core.Environment (>= 5.23.1)
Fake.Core.String (>= 5.23.1)
Fake.Core.Trace (>= 5.23.1)
Fake.IO.FileSystem (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.DotNet.Cli (5.23.1)
Fake.Core.Environment (>= 5.23.1)
Fake.Core.Process (>= 5.23.1)
Fake.Core.String (>= 5.23.1)
Fake.Core.Trace (>= 5.23.1)
Fake.DotNet.MSBuild (>= 5.23.1)
Fake.DotNet.NuGet (>= 5.23.1)
Fake.IO.FileSystem (>= 5.23.1)
FSharp.Core (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.Core.Tasks (6.0)
Fake.Core.Trace (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.Core.Trace (6.0)
Fake.Core.Environment (>= 6.0)
Fake.Core.FakeVar (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.Core.UserInput (6.0)
FSharp.Core (>= 6.0.3)
Fake.Core.Xml (6.0)
Fake.Core.String (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.DotNet.AssemblyInfoFile (6.0)
Fake.Core.Environment (>= 6.0)
Fake.Core.String (>= 6.0)
Fake.Core.Trace (>= 6.0)
Fake.IO.FileSystem (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.DotNet.Cli (6.0)
Fake.Core.Environment (>= 6.0)
Fake.Core.Process (>= 6.0)
Fake.Core.String (>= 6.0)
Fake.Core.Trace (>= 6.0)
Fake.DotNet.MSBuild (>= 6.0)
Fake.DotNet.NuGet (>= 6.0)
Fake.IO.FileSystem (>= 6.0)
FSharp.Core (>= 6.0.3)
Mono.Posix.NETStandard (>= 1.0)
Newtonsoft.Json (>= 13.0.1)
Fake.DotNet.MSBuild (5.23.1)
Fake.DotNet.MSBuild (6.0)
BlackFox.VsWhere (>= 1.1)
Fake.Core.Environment (>= 5.23.1)
Fake.Core.Process (>= 5.23.1)
Fake.Core.String (>= 5.23.1)
Fake.Core.Trace (>= 5.23.1)
Fake.IO.FileSystem (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.Core.Environment (>= 6.0)
Fake.Core.Process (>= 6.0)
Fake.Core.String (>= 6.0)
Fake.Core.Trace (>= 6.0)
Fake.IO.FileSystem (>= 6.0)
FSharp.Core (>= 6.0.3)
MSBuild.StructuredLogger (>= 2.1.545)
Fake.DotNet.NuGet (5.23.1)
Fake.Core.Environment (>= 5.23.1)
Fake.Core.Process (>= 5.23.1)
Fake.Core.SemVer (>= 5.23.1)
Fake.Core.String (>= 5.23.1)
Fake.Core.Tasks (>= 5.23.1)
Fake.Core.Trace (>= 5.23.1)
Fake.Core.Xml (>= 5.23.1)
Fake.IO.FileSystem (>= 5.23.1)
Fake.Net.Http (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.DotNet.NuGet (6.0)
Fake.Core.Environment (>= 6.0)
Fake.Core.Process (>= 6.0)
Fake.Core.SemVer (>= 6.0)
Fake.Core.String (>= 6.0)
Fake.Core.Tasks (>= 6.0)
Fake.Core.Trace (>= 6.0)
Fake.Core.Xml (>= 6.0)
Fake.IO.FileSystem (>= 6.0)
Fake.Net.Http (>= 6.0)
FSharp.Core (>= 6.0.3)
Newtonsoft.Json (>= 13.0.1)
NuGet.Protocol (>= 5.11)
Fake.DotNet.Paket (5.23.1)
Fake.Core.Process (>= 5.23.1)
Fake.Core.String (>= 5.23.1)
Fake.Core.Trace (>= 5.23.1)
Fake.DotNet.Cli (>= 5.23.1)
Fake.IO.FileSystem (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.IO.FileSystem (5.23.1)
Fake.Core.String (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.IO.Zip (5.23.1)
Fake.Core.String (>= 5.23.1)
Fake.IO.FileSystem (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.JavaScript.Yarn (5.23.1)
Fake.Core.Environment (>= 5.23.1)
Fake.Core.Process (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.Net.Http (5.23.1)
Fake.Core.Trace (>= 5.23.1)
FSharp.Core (>= 6.0)
Fake.Tools.Git (5.23.1)
Fake.Core.Environment (>= 5.23.1)
Fake.Core.Process (>= 5.23.1)
Fake.Core.SemVer (>= 5.23.1)
Fake.Core.String (>= 5.23.1)
Fake.Core.Trace (>= 5.23.1)
Fake.IO.FileSystem (>= 5.23.1)
FSharp.Core (>= 6.0)
NuGet.Protocol (>= 6.0)
Fake.DotNet.Paket (6.0)
Fake.Core.Process (>= 6.0)
Fake.Core.String (>= 6.0)
Fake.Core.Trace (>= 6.0)
Fake.DotNet.Cli (>= 6.0)
Fake.IO.FileSystem (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.IO.FileSystem (6.0)
Fake.Core.String (>= 6.0)
Fake.Core.Trace (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.IO.Zip (6.0)
Fake.Core.String (>= 6.0)
Fake.IO.FileSystem (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.JavaScript.Yarn (6.0)
Fake.Core.Process (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.Net.Http (6.0)
Fake.Core.Trace (>= 6.0)
FSharp.Core (>= 6.0.3)
Fake.Tools.Git (6.0)
Fake.Core.Environment (>= 6.0)
Fake.Core.Process (>= 6.0)
Fake.Core.SemVer (>= 6.0)
Fake.Core.String (>= 6.0)
Fake.Core.Trace (>= 6.0)
Fake.IO.FileSystem (>= 6.0)
FSharp.Core (>= 6.0.3)
FParsec (1.1.1)
FSharp.Core (>= 4.3.4)
FSharp.Control.Reactive (5.0.5)
Expand All @@ -194,7 +194,7 @@ NUGET
System.Security.Principal.Windows (>= 5.0)
Microsoft.Win32.SystemEvents (7.0)
Mono.Posix.NETStandard (1.0)
MSBuild.StructuredLogger (2.2.206)
MSBuild.StructuredLogger (2.2.243)
Microsoft.Build.Framework (>= 17.5)
Microsoft.Build.Utilities.Core (>= 17.5)
Newtonsoft.Json (13.0.2)
Expand Down Expand Up @@ -241,4 +241,4 @@ STORAGE: PACKAGES
RESTRICTION: == netstandard2.0
NUGET
remote: https://api.nuget.org/v3/index.json
fsautocomplete (0.73)
fsautocomplete (0.73.2)
9 changes: 9 additions & 0 deletions release/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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!
Expand Down
16 changes: 10 additions & 6 deletions release/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -252,10 +252,6 @@
},
"title": "Show project status"
},
{
"command": "fsharp.explorer.renameFile",
"title": "Rename file"
},
{
"command": "fsharp.explorer.addProjecRef",
"title": "Add project reference"
Expand Down Expand Up @@ -638,8 +634,16 @@
"type": "array"
},
"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 \u0060#FSharp.FSIExtraInteractiveParameters#\u0060 for FSI-CLI-specific parameters, and \u0060#FSharp.FSIExtraSharedParameters#\u0060 for typechecking-related parameters."
},
"FSharp.FSIExtraSharedParameters": {
"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 \u0060#FSharp.fsiExtraParameters#\u0060 are used, only \u0060#FSharp.fsiExtraParameters#\u0060 will be used.",
"type": "array"
},
"FSharp.FSIExtraInteractiveParameters": {
"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 \u0060#FSharp.fsiExtraParameters#\u0060 are used, both sets of arguments will be passed to the launched FSI.",
"type": "array"
},
"FSharp.fsiSdkFilePath": {
Expand Down Expand Up @@ -1808,5 +1812,5 @@
"type": "git",
"url": "https://github.com/ionide/ionide-vscode-fsharp.git"
},
"version": "7.20.1"
"version": "7.20.2"
}
9 changes: 5 additions & 4 deletions src/Components/Fsi.fs
Original file line number Diff line number Diff line change
Expand Up @@ -357,11 +357,12 @@ module Fsi =
let fsiBinaryAndParameters () =
let addWatcher = "FSharp.addFsiWatcher" |> Configuration.get false

let parms =
let parms: string array =
let fsiParams =
"FSharp.fsiExtraParameters"
|> Configuration.get Array.empty<string>
|> List.ofArray
Array.append
(Configuration.get None "FSharp.fsiExtraParameters" |> Option.toArray)
(Configuration.get None "FSharp.FSIExtraInteractiveParameters" |> Option.toArray)
|> Array.toList

let p =
node.path.join (VSCodeExtension.ionidePluginPath (), "watcher", "watcher.fsx")
Expand Down

0 comments on commit da70f14

Please sign in to comment.