javascript-typescript-langserver
Version:
Implementation of the Language Server Protocol for JavaScript and TypeScript
33 lines • 1.63 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const opentracing_1 = require("opentracing");
const logging_1 = require("./logging");
const server_1 = require("./server");
const typescript_service_1 = require("./typescript-service");
const program = require('commander');
const packageJson = require('../package.json');
const { initTracer } = require('jaeger-client');
const defaultLspPort = 2089;
const numCPUs = require('os').cpus().length;
program
.version(packageJson.version)
.option('-s, --strict', 'enabled strict mode')
.option('-p, --port [port]', 'specifies LSP port to use (' + defaultLspPort + ')', parseInt)
.option('-c, --cluster [num]', 'number of concurrent cluster workers (defaults to number of CPUs, ' + numCPUs + ')', parseInt)
.option('-t, --trace', 'print all requests and responses')
.option('-l, --logfile [file]', 'log to this file')
.option('-j, --enable-jaeger', 'enable OpenTracing through Jaeger')
.parse(process.argv);
const options = {
clusterSize: program.cluster || numCPUs,
lspPort: program.port || defaultLspPort,
strict: program.strict,
logMessages: program.trace,
logger: program.logfile ? new logging_1.FileLogger(program.logfile) : new logging_1.StdioLogger(),
tracer: program.enableJaeger
? initTracer({ serviceName: 'javascript-typescript-langserver', sampler: { type: 'const', param: 1 } })
: new opentracing_1.Tracer(),
};
server_1.serve(options, client => new typescript_service_1.TypeScriptService(client, options));
//# sourceMappingURL=language-server.js.map
;