| Omnisharp[1] is build on top of Roslyn so as for now it supports only C# / VB. As far as I know they are working on adding plugin support for it for non-Roslyn language so maybe in the future we will have F# plugin there ( actually, as far as I know, that's MSFT plan for adding F# support in VS Code) F# has had opensourced compiler[2] (written in F#) before it was cool in .Net stack and for most tooling things we are using FSharp.Compiler.Services[3] project - which basically provides all features of F# compiler (and much more) as normal .Net library. Projects like Visual F# Power Tools[4] and Xamarin Studio F# support[5] are using it to provide very interesting F# IDE features. Since Vim, Emacs, Sublime and Atom (even though Ionide is written in F# and compiled to JS we can't use all .Net libraries) don't have direct access to .Net assemblies, community have created FsAutoComplete[6] project which is just command line wrapper around FSharp.Compiler.Services and works as "standard I/O server" where we send requests (for example if user wants completion list) and get appropriate responses. [1] http://www.omnisharp.net/ [2] https://github.com/Microsoft/visualfsharp [3] https://github.com/fsharp/FSharp.Compiler.Service [4] https://github.com/fsprojects/VisualFSharpPowerTools [5] https://github.com/fsharp/xamarin-monodevelop-fsharp-addin [6] https://github.com/fsharp/FsAutoComplete |
Not just open source, it's free under the Apache license.
https://github.com/Microsoft/visualfsharp/blob/master/Licens...