|
|
@@ -168,7 +168,7 @@ export default class TypescriptLanguageServiceWebWorker {
|
|
|
case WorkerProcessTypes.GetDocTooltip:
|
|
|
this.handleGetDocTooltip(port, e.data);
|
|
|
break;
|
|
|
- case ClientExtensionEventNames.ResourceSavedEvent:
|
|
|
+ case ClientExtensionEventNames.CodeSavedEvent:
|
|
|
this.handleSave(port, e.data);
|
|
|
break;
|
|
|
case ClientExtensionEventNames.ResourceRenamedEvent:
|
|
|
@@ -180,6 +180,9 @@ export default class TypescriptLanguageServiceWebWorker {
|
|
|
case ClientExtensionEventNames.ProjectUnloadedEvent:
|
|
|
this.handleProjectUnloaded(port);
|
|
|
break;
|
|
|
+ case WorkerProcessTypes.GetAnnotations:
|
|
|
+ this.handleGetAnnotations(port, e.data);
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
}, false);
|
|
|
@@ -247,7 +250,8 @@ export default class TypescriptLanguageServiceWebWorker {
|
|
|
}) {
|
|
|
port.postMessage({ command: WorkerProcessTypes.Message, message: "Hello " + eventData.sender + " (port #" + this.connections + ")" });
|
|
|
this.loadProjectFiles().then(() => {
|
|
|
- this.languageService.compile([eventData.filename]);
|
|
|
+ let diagnostics = this.languageService.compile([eventData.filename]);
|
|
|
+ this.handleGetAnnotations(port, eventData);
|
|
|
});
|
|
|
}
|
|
|
|
|
|
@@ -314,7 +318,7 @@ export default class TypescriptLanguageServiceWebWorker {
|
|
|
if (details) {
|
|
|
let docs = details.displayParts.map(part => part.text).join("");
|
|
|
if (details.documentation) {
|
|
|
- docs += "<br/" + details.documentation.map(part => part.text).join("");
|
|
|
+ docs += "<p>" + details.documentation.map(part => part.text).join("") + "</p>";
|
|
|
}
|
|
|
|
|
|
message.docHTML = docs;
|
|
|
@@ -323,16 +327,23 @@ export default class TypescriptLanguageServiceWebWorker {
|
|
|
port.postMessage(message);
|
|
|
}
|
|
|
|
|
|
+ handleGetAnnotations(port: MessagePort, eventData: WorkerProcessTypes.GetAnnotationsMessageData) {
|
|
|
+ let message: WorkerProcessTypes.GetAnnotationsResponseMessageData = {
|
|
|
+ command: WorkerProcessTypes.AnnotationsUpdated,
|
|
|
+ annotations: this.languageService.getPreEmitWarnings(eventData.filename)
|
|
|
+ };
|
|
|
+
|
|
|
+ port.postMessage(message);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
- * Called when the file has been saved.
|
|
|
+ * Called when the file has been saved. This will also send back annotations to the caller
|
|
|
* @param {MessagePort} port
|
|
|
* @param {WorkerProcessCommands.SaveMessageData} eventData
|
|
|
*/
|
|
|
handleSave(port: MessagePort, eventData: WorkerProcessTypes.SaveMessageData) {
|
|
|
- // let's reload the file
|
|
|
- getFileResource(eventData.path).then((code: string) => {
|
|
|
- this.languageService.updateProjectFile(eventData.path, code);
|
|
|
- });
|
|
|
+ this.languageService.updateProjectFile(eventData.filename, eventData.code);
|
|
|
+ this.handleGetAnnotations(port, eventData);
|
|
|
}
|
|
|
|
|
|
/**
|