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.fsiUsesFSACDirectoryForCompilerToolto enable loading FSAC extensions in F# interactive (link)fsiBinaryAndParametersfunction to use the new option and pass the--compilertoolargument to F# interactive with the FSAC path (link)SdkResolutionmodule toLanguageService.fsto handle locating the FSAC dll and the target framework for the current SDK (link)getOptionsfunction inLanguageService.fsby using theSdkResolutionmodule and removing duplicated logic (link, link)