MCPcopy
hub / github.com/microsoft/vscode-languageserver-node / DidSaveTextDocumentFeature

Class DidSaveTextDocumentFeature

client/src/client.ts:1076–1111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1074}
1075
1076class DidSaveTextDocumentFeature extends DocumentNotifiactions<DidSaveTextDocumentParams, TextDocument> {
1077
1078 private _includeText: boolean;
1079
1080 constructor(client: BaseLanguageClient) {
1081 super(
1082 client, Workspace.onDidSaveTextDocument, DidSaveTextDocumentNotification.type,
1083 client.clientOptions.middleware!.didSave,
1084 (textDocument) => client.code2ProtocolConverter.asSaveTextDocumentParams(textDocument, this._includeText),
1085 DocumentNotifiactions.textDocumentFilter
1086 );
1087 }
1088
1089 public get messages(): RPCMessageType {
1090 return DidSaveTextDocumentNotification.type;
1091 }
1092
1093 public fillClientCapabilities(capabilities: ClientCapabilities): void {
1094 ensure(ensure(capabilities, 'textDocument')!, 'synchronization')!.didSave = true;
1095 }
1096
1097 public initialize(capabilities: ServerCapabilities, documentSelector: DocumentSelector): void {
1098 let textDocumentSyncOptions = (capabilities as ResolvedTextDocumentSyncCapabilities).resolvedTextDocumentSync;
1099 if (documentSelector && textDocumentSyncOptions && textDocumentSyncOptions.save) {
1100 this.register(this.messages, {
1101 id: UUID.generateUuid(),
1102 registerOptions: Object.assign({}, { documentSelector: documentSelector }, { includeText: !!textDocumentSyncOptions.save.includeText })
1103 });
1104 }
1105 }
1106
1107 public register(method: RPCMessageType, data: RegistrationData<TextDocumentSaveRegistrationOptions>): void {
1108 this._includeText = !!data.registerOptions.includeText;
1109 super.register(method, data);
1110 }
1111}
1112
1113class FileSystemWatcherFeature implements DynamicFeature<DidChangeWatchedFilesRegistrationOptions> {
1114

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected