Include server id in TS server errors

This commit is contained in:
Matt Bierner
2019-06-20 17:57:09 -07:00
parent cc799ebf60
commit 1958209daf
2 changed files with 5 additions and 3 deletions

View File

@@ -189,7 +189,7 @@ export class ProcessBasedTsServer extends Disposable implements ITypeScriptServe
// Special case where response itself is successful but there is not any data to return.
callback.onSuccess(ServerResponse.NoContent);
} else {
callback.onError(TypeScriptServerError.create(this._version, response));
callback.onError(TypeScriptServerError.create(this._serverId, this._version, response));
}
}

View File

@@ -9,20 +9,22 @@ import { TypeScriptVersion } from '../utils/versionProvider';
export class TypeScriptServerError extends Error {
public static create(
serverId: string,
version: TypeScriptVersion,
response: Proto.Response
): TypeScriptServerError {
const parsedResult = TypeScriptServerError.parseErrorText(version, response);
return new TypeScriptServerError(version, response, parsedResult ? parsedResult.message : undefined, parsedResult ? parsedResult.stack : undefined);
return new TypeScriptServerError(serverId, version, response, parsedResult ? parsedResult.message : undefined, parsedResult ? parsedResult.stack : undefined);
}
private constructor(
serverId: string,
version: TypeScriptVersion,
private readonly response: Proto.Response,
public readonly serverMessage: string | undefined,
public readonly serverStack: string | undefined
) {
super(`TypeScript Server Error (${version.versionString})\n${serverMessage}\n${serverStack}`);
super(`<${serverId}> TypeScript Server Error (${version.versionString})\n${serverMessage}\n${serverStack}`);
}
public get serverErrorText() { return this.response.message; }