{ "fileTypes": ["v", "vh"], "keyEquivalent": "^~V", "name": "verilog", "patterns": [ { "include": "#comments" }, { "include": "#module_pattern" }, { "include": "#keywords" }, { "include": "#constants" }, { "include": "#strings" }, { "include": "#operators" } ], "repository": { "comments": { "patterns": [ { "begin": "(^[ \\t]+)?(?=//)", "beginCaptures": { "1": { "name": "punctuation.whitespace.comment.leading.verilog" } }, "end": "(?!\\G)", "patterns": [ { "begin": "//", "beginCaptures": { "0": { "name": "punctuation.definition.comment.verilog" } }, "end": "\\n", "name": "comment.line.double-slash.verilog" } ] }, { "begin": "/\\*", "end": "\\*/", "name": "comment.block.c-style.verilog" } ] }, "constants": { "patterns": [ { "match": "`(?!(celldefine|endcelldefine|default_nettype|define|undef|ifdef|ifndef|else|endif|include|resetall|timescale|unconnected_drive|nounconnected_drive))[a-z_A-Z][a-zA-Z0-9_$]*", "name": "variable.other.constant.verilog" }, { "match": "[0-9]*'[bBoOdDhH][a-fA-F0-9_xXzZ]+\\b", "name": "constant.numeric.sized_integer.verilog" }, { "captures": { "1": { "name": "constant.numeric.integer.verilog" }, "2": { "name": "punctuation.separator.range.verilog" }, "3": { "name": "constant.numeric.integer.verilog" } }, "match": "\\b(\\d+)(:)(\\d+)\\b", "name": "meta.block.numeric.range.verilog" }, { "match": "\\b\\d[\\d_]*(?i:e\\d+)?\\b", "name": "constant.numeric.integer.verilog" }, { "match": "\\b\\d+\\.\\d+(?i:e\\d+)?\\b", "name": "constant.numeric.real.verilog" }, { "match": "#\\d+", "name": "constant.numeric.delay.verilog" }, { "match": "\\b[01xXzZ]+\\b", "name": "constant.numeric.logic.verilog" } ] }, "instantiation_patterns": { "patterns": [ { "include": "#keywords" }, { "begin": "^\\s*([a-zA-Z][a-zA-Z0-9_]*)\\s+([a-zA-Z][a-zA-Z0-9_]*)(?)=?|(!|=)?==?|!|&&?|\\|\\|?|\\^?~|~\\^?", "name": "keyword.operator.verilog" } ] }, "parenthetical_list": { "patterns": [ { "begin": "\\(", "beginCaptures": { "0": { "name": "punctuation.section.list.verilog" } }, "end": "\\)", "endCaptures": { "0": { "name": "punctuation.section.list.verilog" } }, "name": "meta.block.parenthetical_list.verilog", "patterns": [ { "include": "#parenthetical_list" }, { "include": "#comments" }, { "include": "#keywords" }, { "include": "#constants" }, { "include": "#strings" } ] } ] }, "strings": { "patterns": [ { "begin": "\"", "end": "\"", "name": "string.quoted.double.verilog", "patterns": [ { "match": "\\\\.", "name": "constant.character.escape.verilog" } ] } ] } }, "scopeName": "source.verilog", "uuid": "7F4396B3-A33E-44F0-8502-98CA6C25971F" }