Axxes IT Consultancy

Fantomas 3.0: Concluding the tale


Continuing the story told in “Over and above” I would like to present you the final release of Fantomas 3.0. What started as a proof of concept in April finally found its way to NuGet!

Fantomas 3.0 release

Ionide integration

Releasing Fantomas 3.0 to NuGet is a good start, yet the project can only grow through increased adoption and usage. After talking to Krzysztof Cieślak at FableConf this year, I attempted to integrate Fantomas in FSAutocomplete. The result is that you now can format F# files directly from Visual Studio Code (using the Ionide plugin).

Ionide integration video

Please keep in mind that there still is room for improvement. There is no way to configure preferences or format a selection of code as at the time of this writing.

Helping out

I’m always eager to hear feedback about Fantomas. I fully realize that it is not yet perfect. So, the best way you can help is by starting a discussion on GitHub, preferably by creating an issue using the Fantomas-online “create-issue” link.
Fantomas onlineFirst check if you are formatting with the latest version, then use the “create-issue”-link to start your GitHub issue.

Please report bugs and explain why you think code should be formatted differently. But please also be patient with me as I work diligently through each item. Fantomas is a very challenging project and it takes time to carefully consider each point.

It helps to know what you, the Fantomas users, like and dislike. When you come across an issue, leave a reaction to express your opinion. The number of likes helps me see the support for, and community backing behind, any given feature.

G Research

With the financial support of G Research, I was able to work on Fantomas during my day job at Axxes. It provided me with the much-needed time to refactor the code-base. I was able to get things moving beyond the capacity of what I could have accomplished if I had only been able to work on this after finishing my day job. G Research took the lead in this contract and I can only dream of more companies getting on board to launch a sequel.

What is next?

Short term, I will start implementing a feature request by G Research, to have more flexible record whitespace. Pursuing its needs to format F# code is a self-explanatory objective.

After that, I’m expecting more bug reports due to increased adoption. The story of Fantomas seems to be a never-ending one.

I wish to inspire more people to join us in the endeavour of formatting F# code. Or simply said, if more people know how Fantomas technically works, we might be able to persuade them to solve their own problems and fix their own bugs.

At first, solving anything in Fantomas feels like an overwhelming confrontation. However, there is a method to the madness. Ever since the trivia refactor, I follow the same process to fix bugs. Sometime in the future, I hope to document this process in some shape or form. Currently, I’m playing around with the idea of a mini-video series.

Words of gratitude

I want to express my gratitude to everyone that helped during this release. Jindřich for being an awesome co-maintainer, G-Research for the contract, the people at Axxes and the great F# community. Go forth and format!




Image by Flo P

About the author

Florian Verdonck

Florian Verdonck

.NET Consultant

Share this article


Get to know Axxes and our corporate culture!


Let's get in touch!

Keep up with news and updates in the sector