Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fantomas VI #2709

Closed
10 tasks done
nojaf opened this issue Jan 13, 2023 · 1 comment
Closed
10 tasks done

Fantomas VI #2709

nojaf opened this issue Jan 13, 2023 · 1 comment

Comments

@nojaf
Copy link
Contributor

nojaf commented Jan 13, 2023

Introduction

In the aftermath of "Project Dallas" some new opportunities have surfaced for Fantomas. The Oak model could have appeal in the larger F# community. And it makes it possible to expand more on Stroustrup functionality.

In order to seize all these opportunities we have decided to announce a new major release for 2023. This removes any restrictions and allows us to tune the public API to facilitate everything.

We kicked off this conversation during one of our "talk to the developers" sessions on your Discord server. We encourage you to join this server if you haven't already. Keep an eye out for events in the #announcements channel.

Goals

We would like to expose the SyntaxOak module and provide new endpoints to format an Oak and parse an Oak from a string.

Next, we wish to expand on Stroustrup functionality by introducing a bit more granularity. Currently, Stroupstrup is an all-or-nothing situation. To a limited degree, we wish to split up some of the existing functionality.

Lastly, we wish to introduce some auxiliary features that will improve your overall Fantomas experience.

Breaking changes

The Fantomas.Core API will break and the .editorconfig will no longer be compatible with the 5.x series. In practice, not that much will change. (It will really depend on your use case). We wish to keep the changes to a minimum and provide everybody with a smooth upgrade.

Proposed scope

Change

Deprecate

Add

  • Expose SyntaxOak API. Expose SyntaxOak API #2711
  • Cursor API. When formatting source code programmatically you can insert a marker (range) and after formatting, we can tell you where that marker would be in the formatted code. This would be useful for editors to position the cursor after formatting. Cursor API #2727

Technical process

The plan is to do all the development on a separate v6 branch.
Bugfixing v5.2 would still happen on main.

//cc @dawedawe @josh-degraw @TheAngryByrd @edgarfgp

@nojaf
Copy link
Contributor Author

nojaf commented Apr 13, 2023

V6 was released https://www.nuget.org/packages/fantomas/6.0.0!
Thanks again to everyone that was involved!

@nojaf nojaf closed this as completed Apr 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant