Experimental setting to leverage FSAC path as an extra --compilertool flag #1959
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
add experimental option to conveniently add --compilertool:/path/to/fsac to the FSI session.
related:
WHAT
🤖 Generated by Copilot at 0cfe72a
This pull request refactors the FSAC dll resolution and adds an experimental option to use the FSAC extensions in F# interactive. It also improves the logic for finding and passing the F# interactive parameters and fixes some terminal issues on windows. The main files affected are
src/Core/LanguageService.fs
,release/package.json
, andsrc/Components/Fsi.fs
.🤖 Generated by Copilot at 0cfe72a
🛠️🚀♻️
WHY
FSAC is bound to ship great FSI extensions, let's make it convenient for users to add those to the FSI session.
HOW
🤖 Generated by Copilot at 0cfe72a
FSharp.fsiUsesFSACDirectoryForCompilerTool
to enable loading FSAC extensions in F# interactive (link)fsiBinaryAndParameters
function to use the new option and pass the--compilertool
argument to F# interactive with the FSAC path (link)SdkResolution
module toLanguageService.fs
to handle locating the FSAC dll and the target framework for the current SDK (link)getOptions
function inLanguageService.fs
by using theSdkResolution
module and removing duplicated logic (link, link)