{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "vscode-css-customdata", "version": 1.1, "title": "VS Code CSS Custom Data format", "description": "Format for loading Custom Data in VS Code's CSS 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" }, "properties": { "description": "Custom CSS properties", "type": "array", "items": { "type": "object", "required": ["name"], "defaultSnippets": [ { "body": { "name": "$1", "description": "" } } ], "properties": { "name": { "type": "string", "description": "Name of property" }, "description": { "description": "Description of property shown in completion and hover", "anyOf": [ { "type": "string" }, { "$ref": "#/definitions/markupDescription" } ] }, "status": { "type": "string", "description": "Browser status", "enum": ["standard", "experimental", "nonstandard", "obsolete"] }, "browsers": { "type": "array", "description": "Supported browsers", "items": { "type": "string", "pattern": "(E|FF|S|C|IE|O)([\\d|\\.]+)?", "patternErrorMessage": "Browser item must follow the format of `${browser}${version}`. `browser` is one of:\n- E: Edge\n- FF: Firefox\n- S: Safari\n- C: Chrome\n- IE: Internet Explorer\n- O: Opera" } }, "references": { "type": "array", "description": "A list of references for the property shown in completion and hover", "items": { "$ref": "#/definitions/references" } }, "relevance": { "type": "number", "description": "A number in the range [0, 100] used for sorting. Bigger number means more relevant and will be sorted first. Entries that do not specify a relevance will get 50 as default value.", "minimum": 0, "exclusiveMaximum": 100 } } } }, "atDirectives": { "description": "Custom CSS at directives", "type": "array", "items": { "type": "object", "required": ["name"], "defaultSnippets": [ { "body": { "name": "@$1", "description": "" } } ], "properties": { "name": { "type": "string", "description": "Name of at directive", "pattern": "^@.+", "patternErrorMessage": "Pseudo class must start with `@`" }, "description": { "description": "Description of at directive shown in completion and hover", "anyOf": [ { "type": "string" }, { "$ref": "#/definitions/markupDescription" } ] }, "status": { "$ref": "#/properties/properties/items/properties/status" }, "browsers": { "$ref": "#/properties/properties/items/properties/browsers" }, "references": { "type": "array", "description": "A list of references for the at-directive shown in completion and hover", "items": { "$ref": "#/definitions/references" } } } } }, "pseudoClasses": { "description": "Custom CSS pseudo classes", "type": "array", "items": { "type": "object", "required": ["name"], "defaultSnippets": [ { "body": { "name": ":$1", "description": "" } } ], "properties": { "name": { "type": "string", "description": "Name of pseudo class", "pattern": "^:.+", "patternErrorMessage": "Pseudo class must start with `:`" }, "description": { "description": "Description of pseudo class shown in completion and hover", "anyOf": [ { "type": "string" }, { "$ref": "#/definitions/markupDescription" } ] }, "status": { "$ref": "#/properties/properties/items/properties/status" }, "browsers": { "$ref": "#/properties/properties/items/properties/browsers" }, "references": { "type": "array", "description": "A list of references for the pseudo-class shown in completion and hover", "items": { "$ref": "#/definitions/references" } } } } }, "pseudoElements": { "description": "Custom CSS pseudo elements", "type": "array", "items": { "type": "object", "required": ["name"], "defaultSnippets": [ { "body": { "name": "::$1", "description": "" } } ], "properties": { "name": { "type": "string", "description": "Name of pseudo element", "pattern": "^::.+", "patternErrorMessage": "Pseudo class must start with `::`" }, "description": { "description": "Description of pseudo element shown in completion and hover", "anyOf": [ { "type": "string" }, { "$ref": "#/definitions/markupDescription" } ] }, "status": { "$ref": "#/properties/properties/items/properties/status" }, "browsers": { "$ref": "#/properties/properties/items/properties/browsers" }, "references": { "type": "array", "description": "A list of references for the pseudo-element shown in completion and hover", "items": { "$ref": "#/definitions/references" } } } } } } }