__init__.py 666 B

1234567891011121314151617181920212223
  1. import json
  2. import pathlib
  3. import jsonschema
  4. HERE = pathlib.Path(__file__).parent
  5. SCHEMA_FILE = HERE / "schema.json"
  6. SCHEMA = json.loads(SCHEMA_FILE.read_text(encoding="utf-8"))
  7. SPEC_VERSION = SCHEMA["definitions"]["current-version"]["enum"][0]
  8. def make_validator(key):
  9. """make a JSON Schema (Draft 7) validator"""
  10. schema = {"$ref": "#/definitions/{}".format(key)}
  11. schema.update(SCHEMA)
  12. return jsonschema.validators.Draft7Validator(schema)
  13. SERVERS_RESPONSE = make_validator("servers-response")
  14. LANGUAGE_SERVER_SPEC = make_validator("language-server-spec")
  15. LANGUAGE_SERVER_SPEC_MAP = make_validator("language-server-specs-implementation-map")