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