@@ -16,31 +16,34 @@ type ServerCapability =
1616 | HighlighIdentifier
1717 | ImplementInterface
1818
19+ type SyntaxHighlightingInfo =
20+ { ClassificationRanges: unit list }
21+
22+ type ServerNotification =
23+ | SyntaxHighlightingChanged of file : FilePath * SyntaxHighlightingInfo
24+
25+ type ClientCallbackAddress = string
26+
1927type ClientNotification =
20- /// New solution loaded or new folder opened. All server state should be discarded .
21- | Cleanup
28+ /// Reset all server state.
29+ | Reset
2230 /// A new project loaded or a known project changed in any way (name, file list, references, etc.)
2331 | ProjectLoaded of Project
2432 /// Previously loaded project was unloaded from IDE or deleted from disk so it should not be part of solution anymore.
25- | ProjectUnloaded
33+ | ProjectUnloaded of FilePath
2634 /// Document opened in an IDE for the first time. No need to send its content since server can read it from disk.
27- | DocumentOpened of file : FilePath
35+ | DocumentOpened of FilePath
2836 /// Document closed. Server can stop tracking its content in a special way and just read it from disk.
29- | DocumentClosed of file : FilePath
37+ | DocumentClosed of FilePath
3038 | DocumentRenamed of oldFile : FilePath * newFile : FilePath
3139 /// Opened document changed in IDE without saving to disk. Full new content should be sent
3240 /// (for now. Later we can add incremental changes support).
33- | DocumentChanged of file : FilePath * content : DocumentContent
34- | Subscribe of ServerCapability Set
35-
36- type SyntaxHighlightingInfo =
37- { ClassificationRanges: unit list }
38-
39- type ServerNotification =
40- | SyntaxHighlightingChanged of file : FilePath * SyntaxHighlightingInfo
41+ | DocumentChanged of FilePath * DocumentContent
42+ /// Client subscribing on a set of server notifications, passing an address to which them should be sent.
43+ | Subscribe of Set < ServerCapability > * ClientCallbackAddress
4144
42- type RequestMessage =
45+ type ClientRequest =
4346 { RequestId: RequestId }
4447
45- type ResponseMessage =
48+ type ServerResponse =
4649 { RequestId: RequestId }
0 commit comments