mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-15 12:51:30 -05:00
Feedback form pr #3513
This commit is contained in:
@@ -100,7 +100,6 @@ var serverSources = [
|
||||
"editorServices.ts",
|
||||
"protocol.d.ts",
|
||||
"session.ts",
|
||||
"nodeimpl.ts",
|
||||
"server.ts"
|
||||
].map(function (f) {
|
||||
return path.join(serverDirectory, f);
|
||||
@@ -112,7 +111,7 @@ var languageServiceLibrarySources = [
|
||||
"session.ts"
|
||||
].map(function (f) {
|
||||
return path.join(serverDirectory, f);
|
||||
});
|
||||
}).concat(servicesSources);
|
||||
|
||||
var harnessSources = [
|
||||
"harness.ts",
|
||||
@@ -146,7 +145,6 @@ var harnessSources = [
|
||||
"protocol.d.ts",
|
||||
"session.ts",
|
||||
"client.ts",
|
||||
"nodeimpl.ts",
|
||||
"editorServices.ts",
|
||||
].map(function (f) {
|
||||
return path.join(serverDirectory, f);
|
||||
@@ -383,7 +381,7 @@ var lsslFile = path.join(builtLocalDirectory, "tslssl.js");
|
||||
compileFile(
|
||||
lsslFile,
|
||||
languageServiceLibrarySources,
|
||||
[builtLocalDirectory, copyright].concat(serverSources).concat(languageServiceLibrarySources),
|
||||
[builtLocalDirectory, copyright].concat(languageServiceLibrarySources),
|
||||
/*prefixes*/ [copyright],
|
||||
/*useBuiltCompiler*/ true,
|
||||
/*noOutFile*/ false,
|
||||
|
||||
@@ -583,7 +583,7 @@ module Harness.LanguageService {
|
||||
// This host is just a proxy for the clientHost, it uses the client
|
||||
// host to answer server queries about files on disk
|
||||
var serverHost = new SessionServerHost(clientHost);
|
||||
var server = new ts.server.Session(serverHost, new ts.server.NodeEnvironment(), serverHost);
|
||||
var server = new ts.server.Session(serverHost, Buffer.byteLength, process.hrtime, serverHost);
|
||||
|
||||
// Fake the connection between the client and the server
|
||||
serverHost.writeMessage = client.onMessage.bind(client);
|
||||
|
||||
@@ -1262,7 +1262,7 @@ module ts.server {
|
||||
versions: LineIndexSnapshot[] = [];
|
||||
minVersion = 0; // no versions earlier than min version will maintain change history
|
||||
private currentVersion = 0;
|
||||
private host: System;
|
||||
private host: ServerHost;
|
||||
|
||||
static changeNumberThreshold = 8;
|
||||
static changeLengthThreshold = 256;
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
/// <reference path="node.d.ts" />
|
||||
module ts.server {
|
||||
export class NodeEnvironment implements Environment {
|
||||
byteLength = Buffer.byteLength;
|
||||
hrtime = process.hrtime;
|
||||
}
|
||||
}
|
||||
@@ -173,8 +173,8 @@ module ts.server {
|
||||
}
|
||||
|
||||
class IOSession extends Session {
|
||||
constructor(host: ServerHost, env: NodeEnvironment, logger: ts.server.Logger) {
|
||||
super(host, env, logger);
|
||||
constructor(host: ServerHost, logger: ts.server.Logger) {
|
||||
super(host, Buffer.byteLength, process.hrtime, logger);
|
||||
}
|
||||
|
||||
exit() {
|
||||
@@ -265,7 +265,7 @@ module ts.server {
|
||||
}
|
||||
|
||||
};
|
||||
var ioSession = new IOSession(ts.sys, new NodeEnvironment(), logger);
|
||||
var ioSession = new IOSession(ts.sys, logger);
|
||||
process.on('uncaughtException', function(err: Error) {
|
||||
ioSession.logError(err, "unknown");
|
||||
});
|
||||
|
||||
@@ -107,21 +107,6 @@ module ts.server {
|
||||
|
||||
export interface ServerHost extends ts.System {
|
||||
}
|
||||
|
||||
export interface Environment {
|
||||
byteLength: (buf: string, encoding?: string) => number;
|
||||
hrtime: (start?: number[]) => number[]; //array of seconds, nanoseconds
|
||||
}
|
||||
|
||||
export interface Message {
|
||||
type: string,
|
||||
seq: number
|
||||
}
|
||||
|
||||
export interface Event extends Message {
|
||||
event: string;
|
||||
body?: any;
|
||||
}
|
||||
|
||||
export class Session {
|
||||
projectService: ProjectService;
|
||||
@@ -132,7 +117,12 @@ module ts.server {
|
||||
immediateId: any;
|
||||
changeSeq = 0;
|
||||
|
||||
constructor(private host: ServerHost, private environment: Environment, private logger: Logger) {
|
||||
constructor(
|
||||
private host: ServerHost,
|
||||
private byteLength: (buf: string, encoding?: string) => number,
|
||||
private hrtime: (start?: number[]) => number[],
|
||||
private logger: Logger
|
||||
) {
|
||||
this.projectService =
|
||||
new ProjectService(host, logger, (eventName,project,fileName) => {
|
||||
this.handleEvent(eventName, project, fileName);
|
||||
@@ -163,17 +153,17 @@ module ts.server {
|
||||
this.host.write(line + this.host.newLine);
|
||||
}
|
||||
|
||||
send(msg: Message) {
|
||||
send(msg: protocol.Message) {
|
||||
var json = JSON.stringify(msg);
|
||||
if (this.logger.isVerbose()) {
|
||||
this.logger.info(msg.type + ": " + json);
|
||||
}
|
||||
this.sendLineToClient('Content-Length: ' + (1 + this.environment.byteLength(json, 'utf8')) +
|
||||
this.sendLineToClient('Content-Length: ' + (1 + this.byteLength(json, 'utf8')) +
|
||||
'\r\n\r\n' + json);
|
||||
}
|
||||
|
||||
event(info: any, eventName: string) {
|
||||
var ev: Event = {
|
||||
var ev: protocol.Event = {
|
||||
seq: 0,
|
||||
type: "event",
|
||||
event: eventName,
|
||||
@@ -852,7 +842,7 @@ module ts.server {
|
||||
onMessage(message: string) {
|
||||
if (this.logger.isVerbose()) {
|
||||
this.logger.info("request: " + message);
|
||||
var start = this.environment.hrtime();
|
||||
var start = this.hrtime();
|
||||
}
|
||||
try {
|
||||
var request = <protocol.Request>JSON.parse(message);
|
||||
@@ -994,7 +984,7 @@ module ts.server {
|
||||
}
|
||||
|
||||
if (this.logger.isVerbose()) {
|
||||
var elapsed = this.environment.hrtime(start);
|
||||
var elapsed = this.hrtime(start);
|
||||
var seconds = elapsed[0]
|
||||
var nanoseconds = elapsed[1];
|
||||
var elapsedMs = ((1e9 * seconds) + nanoseconds)/1000000.0;
|
||||
|
||||
Reference in New Issue
Block a user