205 lines
6.2 KiB
JSON
205 lines
6.2 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"$id": "vscode-html-customdata",
|
|
"version": 1.1,
|
|
"title": "VS Code HTML Custom Data format",
|
|
"description": "Format for loading Custom Data in VS Code's HTML support",
|
|
"type": "object",
|
|
"required": ["version"],
|
|
"definitions": {
|
|
"references": {
|
|
"type": "object",
|
|
"required": ["name", "url"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL of the reference.",
|
|
"pattern": "https?:\/\/",
|
|
"patternErrorMessage": "URL should start with http:// or https://"
|
|
}
|
|
}
|
|
},
|
|
"markupDescription": {
|
|
"type": "object",
|
|
"required": ["kind", "value"],
|
|
"properties": {
|
|
"kind": {
|
|
"type": "string",
|
|
"description": "Whether `description.value` should be rendered as plaintext or markdown",
|
|
"enum": [
|
|
"plaintext",
|
|
"markdown"
|
|
]
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"description": "Description shown in completion and hover"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"properties": {
|
|
"version": {
|
|
"const": 1.1,
|
|
"description": "The custom data version",
|
|
"type": "number"
|
|
},
|
|
"tags": {
|
|
"description": "Custom HTML tags",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["name"],
|
|
"defaultSnippets": [
|
|
{
|
|
"body": {
|
|
"name": "$1",
|
|
"description": "",
|
|
"attributes": []
|
|
}
|
|
}
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Name of tag"
|
|
},
|
|
"description": {
|
|
"description": "Description of tag shown in completion and hover",
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{ "$ref": "#/definitions/markupDescription" }
|
|
]
|
|
},
|
|
"attributes": {
|
|
"type": "array",
|
|
"description": "A list of possible attributes for the tag",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["name"],
|
|
"defaultSnippets": [
|
|
{
|
|
"body": {
|
|
"name": "$1",
|
|
"description": "",
|
|
"values": []
|
|
}
|
|
}
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Name of attribute"
|
|
},
|
|
"description": {
|
|
"description": "Description of attribute shown in completion and hover",
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{ "$ref": "#/definitions/markupDescription" }
|
|
]
|
|
},
|
|
"valueSet": {
|
|
"type": "string",
|
|
"description": "Name of the matching attribute value set"
|
|
},
|
|
"values": {
|
|
"type": "array",
|
|
"description": "A list of possible values for the attribute",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["name"],
|
|
"defaultSnippets": [
|
|
{
|
|
"body": {
|
|
"name": "$1",
|
|
"description": ""
|
|
}
|
|
}
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Name of attribute value"
|
|
},
|
|
"description": {
|
|
"description": "Description of attribute value shown in completion and hover",
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{ "$ref": "#/definitions/markupDescription" }
|
|
]
|
|
},
|
|
"references": {
|
|
"type": "array",
|
|
"description": "A list of references for the attribute value shown in completion and hover",
|
|
"items": {
|
|
"$ref": "#/definitions/references"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"references": {
|
|
"type": "array",
|
|
"description": "A list of references for the attribute shown in completion and hover",
|
|
"items": {
|
|
"$ref": "#/definitions/references"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"references": {
|
|
"type": "array",
|
|
"description": "A list of references for the tag shown in completion and hover",
|
|
"items": {
|
|
"$ref": "#/definitions/references"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"globalAttributes": {
|
|
"description": "Custom HTML global attributes",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/properties/tags/items/properties/attributes/items"
|
|
}
|
|
},
|
|
"valueSets": {
|
|
"description": "A set of attribute value. When an attribute refers to an attribute set, its value completion will use value from that set",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["name"],
|
|
"defaultSnippets": [
|
|
{
|
|
"body": {
|
|
"name": "$1",
|
|
"description": "",
|
|
"values": []
|
|
}
|
|
}
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Name of attribute value in value set"
|
|
},
|
|
"values": {
|
|
"$ref": "#/properties/tags/items/properties/attributes/items/properties/values"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|