Skip to content

Conversation

@nojaf
Copy link
Contributor

@nojaf nojaf commented Feb 15, 2024

Description

Hi there,

As some of you know, we take an interest in using the Transparent Compiler in Rider and Ionide.
Right now you can pass in FSharpChecker.Create(..., useTransparentCompiler = bool).

The new world uses FSharpProjectSnapshot instead of FSharpProjectOptions.

We would like to use the new snapshot APIs for everything. Imagine each editor has a setting for whether the end user is willing to use the new Transparent Compiler.

If the user says no (useTransparentCompiler = false), every call to a snapshot-based endpoint is forwarded to a projectOptions one in the old BackgroundCompiler (example).

We don't want to mix FSharpProjectSnapshot and FSharpProjectOptions so we would like to address some of the gaps as we go along.

This is a bit of a trade-off scenario but we want to avoid checks like this for each consumer.

Checklist

  • Test cases added

  • Performance benchmarks added in case of performance changes

  • Release notes entry updated:

    Please make sure to add an entry with short succinct description of the change as well as link to this pull request to the respective release notes file, if applicable.

    Release notes files:

    • If anything under src/Compiler has been changed, please make sure to make an entry in docs/release-notes/.FSharp.Compiler.Service/<version>.md, where <version> is usually "highest" one, e.g. 42.8.200
    • If language feature was added (i.e. LanguageFeatures.fsi was changed), please add it to docs/releae-notes/.Language/preview.md
    • If a change to FSharp.Core was made, please make sure to edit docs/release-notes/.FSharp.Core/<version>.md where version is "highest" one, e.g. 8.0.200.

    Information about the release notes entries format can be found in the documentation.
    Example:

    If you believe that release notes are not necessary for this PR, please add NO_RELEASE_NOTES label to the pull request.

@nojaf nojaf requested a review from a team as a code owner February 15, 2024 15:30
@github-actions
Copy link
Contributor

github-actions bot commented Feb 15, 2024

⚠️ Release notes required, but author opted out

Warning

Author opted out of release notes, check is disabled for this pull request.
cc @dotnet/fsharp-team-msft

@nojaf nojaf added the NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes label Feb 15, 2024
Copy link
Contributor

@0101 0101 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't know if we will use this API in the end, but makes sense for the transitional period.

@psfinaki psfinaki merged commit 9381c7b into dotnet:main Feb 16, 2024
@nojaf nojaf deleted the InvalidateConfiguration-FSharpProjectSnapshot branch February 16, 2024 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants