7 lines
26 KiB
JavaScript
7 lines
26 KiB
JavaScript
|
const lang = Object.freeze({ "displayName": "VHDL", "fileTypes": ["vhd", "vhdl", "vho", "vht"], "name": "vhdl", "patterns": [{ "include": "#block_processing" }, { "include": "#cleanup" }], "repository": { "architecture_pattern": { "patterns": [{ "begin": "(?x)\n\n\n\\b((?i:architecture))\\s+\n\n\n(([a-zA-z][a-zA-z0-9_]*)|(.+))(?=\\s)\\s+\n\n\n((?i:of))\\s+\n\n\n(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))(?=\\s*(?i:is))\\b\n", "beginCaptures": { "1": { "name": "keyword.language.vhdl" }, "3": { "name": "entity.name.type.architecture.begin.vhdl" }, "4": { "name": "invalid.illegal.invalid.identifier.vhdl" }, "5": { "name": "keyword.language.vhdl" }, "7": { "name": "entity.name.type.entity.reference.vhdl" }, "8": { "name": "invalid.illegal.invalid.identifier.vhdl" } }, "end": "(?x)\n\n\\b((?i:end))\n\n\n(\\s+((?i:architecture)))?\n\n\n(\\s+((\\3)|(.+?)))?\n\n\n(?=\\s*;)\n", "endCaptures": { "1": { "name": "keyword.language.vhdl" }, "3": { "name": "keyword.language.vhdl" }, "6": { "name": "entity.name.type.architecture.end.vhdl" }, "7": { "name": "invalid.illegal.mismatched.identifier.vhdl" } }, "name": "support.block.architecture", "patterns": [{ "include": "#block_pattern" }, { "include": "#function_definition_pattern" }, { "include": "#procedure_definition_pattern" }, { "include": "#component_pattern" }, { "include": "#if_pattern" }, { "include": "#process_pattern" }, { "include": "#type_pattern" }, { "include": "#record_pattern" }, { "include": "#for_pattern" }, { "include": "#entity_instantiation_pattern" }, { "include": "#component_instantiation_pattern" }, { "include": "#cleanup" }] }] }, "attribute_list": { "patterns": [{ "begin": "\\'\\(", "beginCaptures": { "0": { "name": "punctuation.vhdl" } }, "end": "\\)", "endCaptures": { "0": { "name": "punctuation.vhdl" } }, "patterns": [{ "include": "#parenthetical_list" }, { "include": "#cleanup" }] }] }, "block_pattern": { "patterns": [{ "begin": "(?x)\n\n^\\s*\n\n(\n([a-zA-Z][a-zA-Z0-9_]*)\n\n\n\\s*(:)\\s*\n)?\n\n(\\s*(?i:block))\n", "beginCaptures": { "2": { "name": "meta.block.block.name" }, "3": { "name": "keyword.language.vhdl" }, "4": { "name": "keyword.language.vhdl" } }, "end": "(?x)\n\n((?i:end\\s+block))\n\n\n(\\s+((\\2)|(.+?)))?\n\n(?=\\s*;)\n", "endCaptures": { "1": { "name": "keyword.language.vhdl" }, "2": { "name": "meta.block.block.end" }, "5": { "name": "invalid.illegal.mismatched.identifier.vhdl" } }, "name": "meta.block.block", "patterns": [{ "include": "#control_patterns" }, { "include": "#cleanup" }] }] }, "block_processing": { "patterns": [{ "include": "#package_pattern" }, { "include": "#package_body_pattern" }, { "include": "#entity_pattern" }, { "include": "#architecture_pattern" }] }, "case_pattern": { "patterns": [{ "begin": "(?x)\n\n^\\s*\n\n\n(\n(\n([a-zA-Z][a-zA-Z0-9_]*)\n|(.+?)\n)\n\\s*:\\s*\n)?\n\n\n\\b((?i:case))\\b\n", "beginCaptures": { "3": { "name": "entity.name.tag.case.begin.vhdl" }, "4": { "name": "invalid.illegal.invalid.identifier.vhdl" }, "5": { "name": "keyword.language.vhdl" } }, "end": "(?x)\n\n\\b((?i:end))\\s*\n\n\n(\\s+(((?i:case))|(.*?)))\n\n\n(\\s+((\\2)|(.*?)))?\n\n\n(?=\\s*;)\n", "endCaptures": { "1": { "name": "keyword.language.vhdl" }, "4": { "name": "keyword.language.vhdl" }, "5": { "name": "invalid.illegal.case.required.vhdl" }, "8": { "name": "entity.name.tag.case.end.vhdl" }, "9": { "name": "invalid.illegal.mismatched.identifier.vhdl" } }, "patterns": [{ "include": "#control_patterns" }, { "include": "#cleanup" }] }] }, "cleanup": { "patterns": [{ "include": "#comments" }, { "include": "#constants_numeric" }, { "include": "#strings" }, { "include": "#attribute_list" }, { "include": "#syntax_highlighting" }] }, "comments": { "patterns": [{ "match": "--.*$\\n?", "name": "comment.line.double-dash.vhdl" }] }, "component_instantiation_pattern": { "patterns": [{ "begin": "(?x)\n\n^\\s*\n\n\n([a-zA-Z][a-zA-Z0-9_]*)\n\n\n\\s*(:)\\s*\n\n\n([a-zA-Z][a-zA-Z0-9_]*)\\b\n\n\n\n(?=\\s*($|generic|port))\n", "beginCaptures": { "1": { "name": "entity.name.section.component_instantiation.vhdl" }, "2": { "name": "punctuation.vhdl" }, "3": { "name":
|
||
|
var vhdl = [
|
||
|
lang
|
||
|
];
|
||
|
|
||
|
export { vhdl as default };
|