Skip to content

Latest commit

 

History

History
28 lines (16 loc) · 1.16 KB

README.md

File metadata and controls

28 lines (16 loc) · 1.16 KB

ProtoWorkspace

An implementation of a Roslyn workspace to serve as the foundation for a xplat Language Service and editor tools in FSharp.Editing

Roslyn Architecture

There is often confusion about what Roslyn is and why it would be used with F#. This project has no relation to the Roslyn the C# Compiler. ProtoWorkspace is implementing a Roslyn Workspace from the Microsoft.CodeAnalysis API to take advantage of its capabilites for managing projects, solutions, document tracking, dirty buffers, and its infrastructure for implmenting editor tooling features (e.g. intellisense, refactoring, code fixes). The workspace for F# needs to be built from the ground up as the existing Roslyn workspaces are incompatible with F#.

For the F# workspace the compiler layer is fulfilled by the FSharp.Compiler.Service

Workspace Architecture

Host Environment - Event System - SourceText Change sets - FSharp Language service integration -

For examples of workspace implmentations see the links in Reference.md