| { |
| "$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 valuse 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" |
| } |
| } |
| } |
| } |
| } |
| } |