| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "definitions": {
- "client-config-schema": {
- "description": "a JSON schema to configure the Language Server or extension behavior from the client",
- "title": "Client Configuration Schema",
- "type": "object"
- },
- "current-version": {
- "description": "which version of the spec this implements",
- "enum": [2],
- "title": "Spec Schema Version",
- "type": "number"
- },
- "env-var": {
- "title": "an environment variable. may contain python `string.Template` evaluated against the existing environment, e.g ${HOME}",
- "type": "string"
- },
- "install-bundle": {
- "additionalProperties": {
- "$ref": "#/definitions/install-help"
- },
- "description": "a list of installation approaches keyed by package manager, e.g. pip, npm, yarn, apt",
- "patternProperties": {
- ".+": {
- "$ref": "#/definitions/install-help"
- }
- },
- "title": "Installation",
- "type": "object"
- },
- "install-help": {
- "description": "the install commands or description for installing the language server",
- "type": "string"
- },
- "language-list": {
- "description": "languages supported by this Language Server",
- "items": {
- "type": "string"
- },
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "language-server-extension": {
- "description": "an extension which can extend the functionality of the language server and client",
- "properties": {
- "config_schema": {
- "$ref": "#/definitions/client-config-schema"
- },
- "display_name": {
- "type": "string"
- },
- "install": {
- "$ref": "#/definitions/install-bundle"
- }
- },
- "title": "Language Server Extension",
- "type": "object"
- },
- "language-server-spec": {
- "allOf": [
- {
- "$ref": "#/definitions/partial-language-server-spec"
- },
- {
- "required": ["argv", "languages", "version"]
- }
- ],
- "description": "a description of a language server that could be started",
- "title": "Language Server Spec"
- },
- "nullable-date-time": {
- "description": "a date/time that might not have been recorded",
- "oneOf": [
- {
- "format": "date-time",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "partial-language-server-spec": {
- "description": "all properties that might be required to start and/or describe a Language Server",
- "properties": {
- "argv": {
- "$ref": "#/definitions/shell-args",
- "description": "the arguments to start the language server normally",
- "title": "Launch Arguments"
- },
- "config_schema": {
- "$ref": "#/definitions/client-config-schema",
- "description": "a JSON schema to configure the Language Server behavior from the client",
- "title": "Client Configuration Schema"
- },
- "debug_argv": {
- "$ref": "#/definitions/shell-args",
- "description": "the arguments to start the language server with more verbose output",
- "title": "Debug Arguments"
- },
- "display_name": {
- "description": "name shown in the UI",
- "title": "Display Name",
- "type": "string"
- },
- "env": {
- "additionalProperties": {
- "$ref": "#/definitions/env-var"
- },
- "description": "additional environment variables to set when starting the language server",
- "patternProperties": {
- "[^ ]+": {
- "$ref": "#/definitions/env-var"
- }
- },
- "title": "Environment Variables",
- "type": "object"
- },
- "extend": {
- "description": "known extensions that can contribute to the Language Server's features",
- "items": {
- "$ref": "#/definitions/language-server-extension"
- },
- "title": "Extensions",
- "type": "array"
- },
- "requires_documents_on_disk": {
- "default": true,
- "description": "Whether to write un-saved documents to disk in a transient `.virtual_documents` directory. Well-behaved language servers that work against in-memory files should set this to `false`, which will become the default in the future.",
- "type": "boolean"
- },
- "install": {
- "$ref": "#/definitions/install-bundle",
- "description": "a list of installation approaches keyed by package manager, e.g. pip, npm, yarn, apt",
- "title": "Installation"
- },
- "languages": {
- "$ref": "#/definitions/language-list"
- },
- "mime_types": {
- "$ref": "#/definitions/language-list",
- "description": "list of MIME types supported by the language server",
- "title": "MIME Types"
- },
- "troubleshoot": {
- "type": "string",
- "description": "information on troubleshooting the installation or auto-detection of the language server",
- "title": "Troubleshooting"
- },
- "urls": {
- "additionalProperties": {
- "format": "uri",
- "type": "string"
- },
- "description": "a collection of urls keyed by type, e.g. home, issues",
- "patternProperties": {
- ".+": {
- "format": "uri",
- "type": "string"
- }
- },
- "title": "URLs",
- "type": "object"
- },
- "version": {
- "$ref": "#/definitions/current-version"
- },
- "workspace_configuration": {
- "description": "default values to include in the client `workspace/configuration` reply (also known as `serverSettings`). User may override these defaults. The keys should be fully qualified (dotted) names of settings (nested specification is not supported).",
- "title": "Workspace configuration",
- "type": "object"
- }
- },
- "title": "Server Spec Properties"
- },
- "servers-response": {
- "properties": {
- "sessions": {
- "$ref": "#/definitions/sessions"
- },
- "specs": {
- "$ref": "#/definitions/language-server-specs-implementation-map"
- },
- "version": {
- "$ref": "#/definitions/current-version"
- }
- },
- "required": ["sessions", "version"],
- "type": "object"
- },
- "sessions": {
- "description": "named server sessions that are, could be, or were running",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/session"
- }
- },
- "additionalProperties": {
- "$ref": "#/definitions/session"
- },
- "type": "object"
- },
- "session": {
- "additionalProperties": false,
- "description": "a language server session",
- "properties": {
- "handler_count": {
- "description": "the count of currently-connected WebSocket handlers",
- "minValue": 0,
- "title": "handler count",
- "type": "integer"
- },
- "last_handler_message_at": {
- "$ref": "#/definitions/nullable-date-time",
- "description": "date-time of last seen message from a WebSocket handler"
- },
- "last_server_message_at": {
- "$ref": "#/definitions/nullable-date-time",
- "description": "date-time of last seen message from the language server"
- },
- "spec": {
- "$ref": "#/definitions/partial-language-server-spec"
- },
- "status": {
- "description": "a string describing the current state of the server",
- "enum": ["not_started", "starting", "started", "stopping", "stopped"],
- "type": "string"
- }
- },
- "required": [
- "handler_count",
- "status",
- "last_server_message_at",
- "last_handler_message_at",
- "spec"
- ],
- "title": "Language Server Session"
- },
- "shell-args": {
- "description": "a list of tokens for running a command",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "language-server-specs-implementation-map": {
- "title": "Language Server Specs Map",
- "description": "a set of language servers keyed by their implementation name",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/language-server-spec"
- }
- },
- "additionalProperties": {
- "$ref": "#/definitions/language-server-spec"
- },
- "type": "object"
- }
- },
- "description": "describes the current state of (potentially) running language servers",
- "title": "jupyter_lsp server status response"
- }
|