const e=Object.freeze(JSON.parse(`{"displayName":"SystemVerilog","fileTypes":["v","vh","sv","svh"],"name":"system-verilog","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#typedef-enum-struct-union"},{"include":"#typedef"},{"include":"#functions"},{"include":"#keywords"},{"include":"#tables"},{"include":"#function-task"},{"include":"#module-declaration"},{"include":"#class-declaration"},{"include":"#enum-struct-union"},{"include":"#sequence"},{"include":"#all-types"},{"include":"#module-parameters"},{"include":"#module-no-parameters"},{"include":"#port-net-parameter"},{"include":"#system-tf"},{"include":"#assertion"},{"include":"#bind-directive"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"include":"#attributes"},{"include":"#imports"},{"include":"#operators"},{"include":"#constants"},{"include":"#identifiers"},{"include":"#selects"}],"repository":{"all-types":{"patterns":[{"include":"#built-ins"},{"include":"#modifiers"}]},"assertion":{"captures":{"1":{"name":"entity.name.goto-label.php"},"2":{"name":"keyword.operator.systemverilog"},"3":{"name":"keyword.sva.systemverilog"}},"match":"\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*(assert|assume|cover|restrict)\\\\b"},"attributes":{"begin":"(?|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&","name":"keyword.operator.logical.systemverilog"},{"match":"@|##?|->|<->","name":"keyword.operator.channel.systemverilog"},{"match":"(?:[-%\\\\&*+/^|]|>>>?|<<>>?","name":"keyword.operator.bitwise.shift.systemverilog"},{"match":"~&|~\\\\|?|\\\\^~|~\\\\^|[\\\\&^{|]|'\\\\{|[:?}]","name":"keyword.operator.bitwise.systemverilog"},{"match":"<=?|>=?|==\\\\?|!=\\\\?|===|!==|==|!=","name":"keyword.operator.comparison.systemverilog"}]},"parameters":{"begin":"[\\\\t\\\\n\\\\r ]*(#)[\\\\t\\\\n\\\\r ]*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.channel.systemverilog"},"2":{"name":"punctuation.section.parameters.begin"}},"end":"(\\\\))[\\\\t\\\\n\\\\r ]*(?=[(;A-Z\\\\\\\\_a-z]|$)","endCaptures":{"1":{"name":"punctuation.section.parameters.end"}},"name":"meta.parameters.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#strings"},{"include":"#system-tf"},{"include":"#functions"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#module-binding"}]},"port-net-parameter":{"patterns":[{"captures":{"1":{"name":"support.type.direction.systemverilog"},"2":{"name":"storage.type.net.systemverilog"},"3":{"name":"support.type.scope.systemverilog"},"4":{"name":"keyword.operator.scope.systemverilog"},"5":{"patterns":[{"include":"#built-ins"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"6":{"patterns":[{"include":"#modifiers"}]},"7":{"patterns":[{"include":"#selects"}]},"8":{"patterns":[{"include":"#constants"},{"include":"#identifiers"}]},"9":{"patterns":[{"include":"#selects"}]}},"match":",?[\\\\t\\\\n\\\\r ]*(?:\\\\b(output|input|inout|ref)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)(::))?(?:([A-Z_a-z][$0-9A-Z_a-z]*)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:\\\\b((?:|un)signed)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(\\\\[[]\\\\t\\\\n\\\\r $%'-+\\\\--:A-\\\\[_-z]*])[\\\\t\\\\n\\\\r ]*)?(?","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.other.lt-gt.include.systemverilog"}]},"sv-control":{"captures":{"1":{"name":"keyword.control.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|iff??|else|casex??|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique0??|priority)\\\\b"},"sv-control-begin":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(begin|fork)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.begin.systemverilog"},"sv-control-end":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.end.systemverilog"},"sv-cover-cross":{"captures":{"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"keyword.operator.other.systemverilog"},"4":{"name":"keyword.control.systemverilog"}},"match":"(([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:))?[\\\\t\\\\n\\\\r ]*(c(?:overpoint|ross))[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)","name":"meta.definition.systemverilog"},"sv-definition":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(primitive|package|constraint|interface|covergroup|program)[\\\\t\\\\n\\\\r ]+\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)\\\\b","name":"meta.definition.systemverilog"},"sv-local":{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b"},"sv-option":{"captures":{"1":{"name":"keyword.cover.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(option)\\\\."},"sv-rand":{"match":"[\\\\t\\\\n\\\\r ]*\\\\brandc??\\\\b","name":"storage.type.rand.systemverilog"},"sv-std":{"match":"\\\\b(std)\\\\b::","name":"support.class.systemverilog"},"system-tf":{"match":"\\\\$[$0-9A-Z_a-z][$0-9A-Z_a-z]*\\\\b","name":"support.function.systemverilog"},"tables":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(table)\\\\b","beginCaptures":{"1":{"name":"keyword.table.systemverilog.begin"}},"end":"[\\\\t\\\\n\\\\r ]*\\\\b(endtable)\\\\b","endCaptures":{"1":{"name":"keyword.table.systemverilog.end"}},"name":"meta.table.systemverilog","patterns":[{"include":"#comments"},{"match":"\\\\b[01BFNPRXbfnprx]\\\\b","name":"constant.language.systemverilog"},{"match":"[-*?]","name":"constant.language.systemverilog"},{"captures":{"1":{"name":"constant.language.systemverilog"}},"match":"\\\\(([01?Xx]{2})\\\\)"},{"match":":","name":"punctuation.definition.label.systemverilog"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},"typedef":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]+\\\\b((?:|un)signed)\\\\b)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%'-+\\\\--:A-\\\\[_-z]*])?)?(?=[\\\\t\\\\n\\\\r ]*[A-Z\\\\\\\\_a-z])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"}]},"3":{"patterns":[{"include":"#modifiers"}]},"4":{"patterns":[{"include":"#selects"}]}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.typedef.end.systemverilog"}},"name":"meta.typedef.systemverilog","patterns":[{"include":"#identifiers"},{"include":"#selects"}]},"typedef-enum-struct-union":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(enum|struct|union(?:[\\\\t\\\\n\\\\r ]+tagged)?|class|interface[\\\\t\\\\n\\\\r ]+class)(?:[\\\\t\\\\n\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%'-+\\\\--:A-\\\\[_-z]*])?)?(?:[\\\\t\\\\n\\\\r ]+(packed))?(?:[\\\\t\\\\n\\\\r ]+((?:|un)signed))?(?=[\\\\t\\\\n\\\\r ]*(?:\\\\{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.control.systemverilog"},"3":{"patterns":[{"include":"#built-ins"}]},"4":{"patterns":[{"include":"#selects"}]},"5":{"name":"storage.modifier.systemverilog"},"6":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ]))[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*[,;]","endCaptures":{"1":{"name":"storage.type.systemverilog"},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.typedef-enum-struct-union.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]}},"scopeName":"source.systemverilog"}`)),t=[e];export{t as default};