This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 400,000 packages pre-installed, including
npm packages installed. Try it out:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
# install dependencies npm install # compile npm run build # or compile on file changes npm run watch # run over STDIO node lib/language-server-stdio # or run over TCP node lib/language-server # run tests npm test
Usage: language-server [options] Options: -h, --help output usage information -V, --version output the version number -s, --strict enabled strict mode -p, --port [port] specifies LSP port to use (2089) -c, --cluster [num] number of concurrent cluster workers (defaults to number of CPUs, 8) -t, --trace print all requests and responses -l, --logfile [file] log to this file -j, --enable-jaeger enable OpenTracing through Jaeger
This language server implements some LSP extensions, prefixed with an
exitnotification will not kill the process, but close the TCP socket
This project follows semver for command line arguments and standard LSP methods. Any change to command line arguments, Node version or protocol breaking changes will result in a major version increase.
The language server is fully traced through OpenTracing, which allows to debug what exact operations caused method calls to take long.
You can pass a span context through an optional
meta field on the JSON RPC message object.
docker run -d -p5775:5775/udp -p6831:6831/udp -p6832:6832/udp \ -p5778:5778 -p16686:16686 -p14268:14268 jaegertracing/all-in-one:latest
After that, run the language server with the
--enable-jaeger command line flag and do some requests from your client.
Open http://localhost:16686 in your browser and you will see method calls broken down into spans.