You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			265 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			JSON
		
	
			
		
		
	
	
			265 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			JSON
		
	
{
 | 
						|
  "$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"
 | 
						|
}
 |