diff --git a/bin/yaml-language-server b/bin/yaml-language-server index d1dbeeeea..9ed594594 100755 --- a/bin/yaml-language-server +++ b/bin/yaml-language-server @@ -1,3 +1,27 @@ #!/usr/bin/env node +const version = require('../package.json').version; +const args = process.argv.slice(2); + +if (args.includes('--version') || args.includes('-version')) { + console.log(version); + process.exit(0); +} + +if (args.includes('--help') || args.includes('-help') || args.includes('-h')) { + console.log(`Usage: yaml-language-server [transport] + +LSP transport options: + --stdio communicate using standard input/output (stdin/stdout) + --node-ipc communicate using Node IPC + --socket= listen on a TCP socket on the given port number + +Other: + --version | -version print product version to the output stream and exit + --help | -help | -h print this help message to the output stream and exit +`); + process.exit(0); +} + +process.env.YAML_LANGUAGE_SERVER_VERSION = version; require('../out/server/src/server.js'); diff --git a/src/yamlServerInit.ts b/src/yamlServerInit.ts index 77767b182..28707c8b0 100644 --- a/src/yamlServerInit.ts +++ b/src/yamlServerInit.ts @@ -120,6 +120,10 @@ export class YAMLServerInit { registerCommands(commandExecutor, this.connection); await this.setupl10nBundle(params); return { + serverInfo: { + name: 'yaml-language-server', + version: process.env.YAML_LANGUAGE_SERVER_VERSION || 'unknown', + }, capabilities: { textDocumentSync: TextDocumentSyncKind.Incremental, completionProvider: { resolveProvider: false },