@aquera/nile-elements 0.0.123 → 0.0.125

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/README.md +6 -0
  2. package/dist/abap-1e9762d1.esm.js +1 -0
  3. package/dist/abap-3b3fe406.cjs.js +2 -0
  4. package/dist/abap-3b3fe406.cjs.js.map +1 -0
  5. package/dist/{angular-ts-a70761c6.cjs.js → angular-ts-32bbcd01.cjs.js} +2 -2
  6. package/dist/{angular-ts-a70761c6.cjs.js.map → angular-ts-32bbcd01.cjs.js.map} +1 -1
  7. package/dist/catppuccin-frappe-c0734345.esm.js +1 -0
  8. package/dist/catppuccin-frappe-eb77e95d.cjs.js +2 -0
  9. package/dist/catppuccin-frappe-eb77e95d.cjs.js.map +1 -0
  10. package/dist/catppuccin-latte-471f76fc.cjs.js +2 -0
  11. package/dist/catppuccin-latte-471f76fc.cjs.js.map +1 -0
  12. package/dist/catppuccin-latte-d798493f.esm.js +1 -0
  13. package/dist/catppuccin-macchiato-7ac78e7e.cjs.js +2 -0
  14. package/dist/catppuccin-macchiato-7ac78e7e.cjs.js.map +1 -0
  15. package/dist/catppuccin-macchiato-d78b2ec2.esm.js +1 -0
  16. package/dist/catppuccin-mocha-3b00f8d6.cjs.js +2 -0
  17. package/dist/catppuccin-mocha-3b00f8d6.cjs.js.map +1 -0
  18. package/dist/catppuccin-mocha-6a189a57.esm.js +1 -0
  19. package/dist/cobol-4ed2b235.esm.js +1 -0
  20. package/dist/cobol-c428fca2.cjs.js +2 -0
  21. package/dist/cobol-c428fca2.cjs.js.map +1 -0
  22. package/dist/{cpp-8812199e.cjs.js → cpp-c2442fe2.cjs.js} +2 -2
  23. package/dist/{cpp-8812199e.cjs.js.map → cpp-c2442fe2.cjs.js.map} +1 -1
  24. package/dist/{crystal-5458e62a.cjs.js → crystal-1913e34d.cjs.js} +2 -2
  25. package/dist/{crystal-5458e62a.cjs.js.map → crystal-1913e34d.cjs.js.map} +1 -1
  26. package/dist/{edge-cb04b11b.cjs.js → edge-ef9e682b.cjs.js} +2 -2
  27. package/dist/{edge-cb04b11b.cjs.js.map → edge-ef9e682b.cjs.js.map} +1 -1
  28. package/dist/{elm-53a0b5b4.cjs.js → elm-7fd07d47.cjs.js} +2 -2
  29. package/dist/{elm-53a0b5b4.cjs.js.map → elm-7fd07d47.cjs.js.map} +1 -1
  30. package/dist/{erb-1bc4721c.cjs.js → erb-c813c1f2.cjs.js} +2 -2
  31. package/dist/{erb-1bc4721c.cjs.js.map → erb-c813c1f2.cjs.js.map} +1 -1
  32. package/dist/{fortran-fixed-form-00a9d08f.cjs.js → fortran-fixed-form-c39bf051.cjs.js} +2 -2
  33. package/dist/{fortran-fixed-form-00a9d08f.cjs.js.map → fortran-fixed-form-c39bf051.cjs.js.map} +1 -1
  34. package/dist/{fsharp-661f4f18.cjs.js → fsharp-ba007c9c.cjs.js} +2 -2
  35. package/dist/{fsharp-661f4f18.cjs.js.map → fsharp-ba007c9c.cjs.js.map} +1 -1
  36. package/dist/{gdresource-8fb6a6ad.cjs.js → gdresource-f3068367.cjs.js} +2 -2
  37. package/dist/{gdresource-8fb6a6ad.cjs.js.map → gdresource-f3068367.cjs.js.map} +1 -1
  38. package/dist/{git-commit-9373b48b.cjs.js → git-commit-372b638c.cjs.js} +2 -2
  39. package/dist/{git-commit-9373b48b.cjs.js.map → git-commit-372b638c.cjs.js.map} +1 -1
  40. package/dist/{git-rebase-c3fa2bb9.cjs.js → git-rebase-2cc6f2a3.cjs.js} +2 -2
  41. package/dist/{git-rebase-c3fa2bb9.cjs.js.map → git-rebase-2cc6f2a3.cjs.js.map} +1 -1
  42. package/dist/go-4c55ae2b.esm.js +1 -0
  43. package/dist/go-9bee484b.cjs.js +2 -0
  44. package/dist/go-9bee484b.cjs.js.map +1 -0
  45. package/dist/{graphql-1541cb3c.cjs.js → graphql-74f146e1.cjs.js} +2 -2
  46. package/dist/{graphql-1541cb3c.cjs.js.map → graphql-74f146e1.cjs.js.map} +1 -1
  47. package/dist/{handlebars-39ab86cd.cjs.js → handlebars-864fcb12.cjs.js} +2 -2
  48. package/dist/{handlebars-39ab86cd.cjs.js.map → handlebars-864fcb12.cjs.js.map} +1 -1
  49. package/dist/{http-1cf9a3de.cjs.js → http-08501497.cjs.js} +2 -2
  50. package/dist/{http-1cf9a3de.cjs.js.map → http-08501497.cjs.js.map} +1 -1
  51. package/dist/{hxml-6d54d760.cjs.js → hxml-bbac80e4.cjs.js} +2 -2
  52. package/dist/{hxml-6d54d760.cjs.js.map → hxml-bbac80e4.cjs.js.map} +1 -1
  53. package/dist/hy-431f15f8.cjs.js +2 -0
  54. package/dist/hy-431f15f8.cjs.js.map +1 -0
  55. package/dist/hy-5e43d6c1.esm.js +1 -0
  56. package/dist/index.cjs.js +1 -1
  57. package/dist/index.esm.js +1 -1
  58. package/dist/{julia-0152d8b9.cjs.js → julia-689ac552.cjs.js} +2 -2
  59. package/dist/{julia-0152d8b9.cjs.js.map → julia-689ac552.cjs.js.map} +1 -1
  60. package/dist/{latex-33ebd2ce.cjs.js → latex-4d76e817.cjs.js} +2 -2
  61. package/dist/{latex-33ebd2ce.cjs.js.map → latex-4d76e817.cjs.js.map} +1 -1
  62. package/dist/luau-0b166b7a.cjs.js +2 -0
  63. package/dist/luau-0b166b7a.cjs.js.map +1 -0
  64. package/dist/luau-7d7eaa97.esm.js +1 -0
  65. package/dist/{marko-23ca6223.cjs.js → marko-2880d4ee.cjs.js} +2 -2
  66. package/dist/{marko-23ca6223.cjs.js.map → marko-2880d4ee.cjs.js.map} +1 -1
  67. package/dist/mdc-13285ad6.esm.js +1 -0
  68. package/dist/mdc-a3fe82c5.cjs.js +2 -0
  69. package/dist/mdc-a3fe82c5.cjs.js.map +1 -0
  70. package/dist/{mdx-01dab0d1.cjs.js → mdx-a859ee84.cjs.js} +2 -2
  71. package/dist/{mdx-01dab0d1.cjs.js.map → mdx-a859ee84.cjs.js.map} +1 -1
  72. package/dist/{mdx-0782bcd8.esm.js → mdx-bf2a8fe9.esm.js} +1 -1
  73. package/dist/nextflow-35e5a63d.esm.js +1 -0
  74. package/dist/nextflow-c666e91b.cjs.js +2 -0
  75. package/dist/nextflow-c666e91b.cjs.js.map +1 -0
  76. package/dist/{nginx-1aabec59.cjs.js → nginx-7bc0fc82.cjs.js} +2 -2
  77. package/dist/{nginx-1aabec59.cjs.js.map → nginx-7bc0fc82.cjs.js.map} +1 -1
  78. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  79. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  80. package/dist/nile-code-editor/nile-code-editor.esm.js +2 -2
  81. package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
  82. package/dist/nile-highlighter/nile-highlighter.cjs.js.map +1 -1
  83. package/dist/nile-highlighter/nile-highlighter.esm.js +1 -1
  84. package/dist/nile-tour/index.cjs.js +2 -0
  85. package/dist/nile-tour/index.cjs.js.map +1 -0
  86. package/dist/nile-tour/index.esm.js +1 -0
  87. package/dist/nile-tour/nile-tour.cjs.js +10 -0
  88. package/dist/nile-tour/nile-tour.cjs.js.map +1 -0
  89. package/dist/nile-tour/nile-tour.css.cjs.js +2 -0
  90. package/dist/nile-tour/nile-tour.css.cjs.js.map +1 -0
  91. package/dist/nile-tour/nile-tour.css.esm.js +93 -0
  92. package/dist/nile-tour/nile-tour.esm.js +15 -0
  93. package/dist/{nim-55b3acf7.cjs.js → nim-1cf0460c.cjs.js} +2 -2
  94. package/dist/{nim-55b3acf7.cjs.js.map → nim-1cf0460c.cjs.js.map} +1 -1
  95. package/dist/one-dark-pro-9477257e.cjs.js +2 -0
  96. package/dist/one-dark-pro-9477257e.cjs.js.map +1 -0
  97. package/dist/one-dark-pro-deb4f5e9.esm.js +1 -0
  98. package/dist/{razor-57f13c4a.cjs.js → razor-0acc551a.cjs.js} +2 -2
  99. package/dist/{razor-57f13c4a.cjs.js.map → razor-0acc551a.cjs.js.map} +1 -1
  100. package/dist/{rst-4226018b.cjs.js → rst-6b792481.cjs.js} +2 -2
  101. package/dist/{rst-4226018b.cjs.js.map → rst-6b792481.cjs.js.map} +1 -1
  102. package/dist/{ruby-4306ddd1.cjs.js → ruby-578b1ee6.cjs.js} +2 -2
  103. package/dist/{ruby-4306ddd1.cjs.js.map → ruby-578b1ee6.cjs.js.map} +1 -1
  104. package/dist/{shaderlab-2234cd06.cjs.js → shaderlab-606f022b.cjs.js} +2 -2
  105. package/dist/{shaderlab-2234cd06.cjs.js.map → shaderlab-606f022b.cjs.js.map} +1 -1
  106. package/dist/{shellsession-cd95727e.cjs.js → shellsession-cb0df007.cjs.js} +2 -2
  107. package/dist/{shellsession-cd95727e.cjs.js.map → shellsession-cb0df007.cjs.js.map} +1 -1
  108. package/dist/{sparql-197a828d.cjs.js → sparql-589e0308.cjs.js} +2 -2
  109. package/dist/{sparql-197a828d.cjs.js.map → sparql-589e0308.cjs.js.map} +1 -1
  110. package/dist/src/index.d.ts +1 -0
  111. package/dist/src/index.js +1 -0
  112. package/dist/src/index.js.map +1 -1
  113. package/dist/src/nile-code-editor/nile-code-editor.d.ts +3 -0
  114. package/dist/src/nile-code-editor/nile-code-editor.js +11 -8
  115. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  116. package/dist/src/nile-tour/index.d.ts +1 -0
  117. package/dist/src/nile-tour/index.js +2 -0
  118. package/dist/src/nile-tour/index.js.map +1 -0
  119. package/dist/src/nile-tour/nile-tour.css.d.ts +12 -0
  120. package/dist/src/nile-tour/nile-tour.css.js +105 -0
  121. package/dist/src/nile-tour/nile-tour.css.js.map +1 -0
  122. package/dist/src/nile-tour/nile-tour.d.ts +47 -0
  123. package/dist/src/nile-tour/nile-tour.js +96 -0
  124. package/dist/src/nile-tour/nile-tour.js.map +1 -0
  125. package/dist/{svelte-5a90df12.cjs.js → svelte-2ae868b6.cjs.js} +2 -2
  126. package/dist/{svelte-5a90df12.cjs.js.map → svelte-2ae868b6.cjs.js.map} +1 -1
  127. package/dist/{svelte-cb8564e6.esm.js → svelte-ac03a3ac.esm.js} +1 -1
  128. package/dist/{system-verilog-c1c6377f.esm.js → system-verilog-2d49210f.esm.js} +1 -1
  129. package/dist/{system-verilog-b3e652eb.cjs.js → system-verilog-7d2d7268.cjs.js} +2 -2
  130. package/dist/{system-verilog-b3e652eb.cjs.js.map → system-verilog-7d2d7268.cjs.js.map} +1 -1
  131. package/dist/{templ-4425132d.cjs.js → templ-2a2d64b7.cjs.js} +2 -2
  132. package/dist/{templ-4425132d.cjs.js.map → templ-2a2d64b7.cjs.js.map} +1 -1
  133. package/dist/{templ-13492ead.esm.js → templ-f2d0dadd.esm.js} +1 -1
  134. package/dist/{tex-d609b400.cjs.js → tex-8addc455.cjs.js} +2 -2
  135. package/dist/{tex-d609b400.cjs.js.map → tex-8addc455.cjs.js.map} +1 -1
  136. package/dist/{ts-tags-ba7eb9e3.cjs.js → ts-tags-e56ee3ee.cjs.js} +2 -2
  137. package/dist/{ts-tags-ba7eb9e3.cjs.js.map → ts-tags-e56ee3ee.cjs.js.map} +1 -1
  138. package/dist/tsconfig.tsbuildinfo +1 -1
  139. package/dist/{twig-e9bb57f2.cjs.js → twig-911808dc.cjs.js} +2 -2
  140. package/dist/{twig-e9bb57f2.cjs.js.map → twig-911808dc.cjs.js.map} +1 -1
  141. package/dist/{vue-16d91bfa.cjs.js → vue-9b06428b.cjs.js} +2 -2
  142. package/dist/{vue-16d91bfa.cjs.js.map → vue-9b06428b.cjs.js.map} +1 -1
  143. package/dist/{vue-html-432cdd7f.cjs.js → vue-html-ca1dd5bf.cjs.js} +2 -2
  144. package/dist/{vue-html-432cdd7f.cjs.js.map → vue-html-ca1dd5bf.cjs.js.map} +1 -1
  145. package/dist/wikitext-b9a7e67b.cjs.js +2 -0
  146. package/dist/wikitext-b9a7e67b.cjs.js.map +1 -0
  147. package/dist/wikitext-c06489b3.esm.js +1 -0
  148. package/package.json +5 -3
  149. package/src/index.ts +2 -1
  150. package/src/nile-code-editor/nile-code-editor.ts +13 -9
  151. package/src/nile-tour/index.ts +1 -0
  152. package/src/nile-tour/nile-tour.css.ts +107 -0
  153. package/src/nile-tour/nile-tour.ts +119 -0
  154. package/vscode-html-custom-data.json +11 -1
  155. package/dist/abap-511af2a5.cjs.js +0 -2
  156. package/dist/abap-511af2a5.cjs.js.map +0 -1
  157. package/dist/abap-f2ab40d0.esm.js +0 -1
  158. package/dist/cairo-014ad724.cjs.js +0 -2
  159. package/dist/cairo-014ad724.cjs.js.map +0 -1
  160. package/dist/cairo-9be40999.esm.js +0 -1
  161. package/dist/catppuccin-frappe-52a52bb1.cjs.js +0 -2
  162. package/dist/catppuccin-frappe-52a52bb1.cjs.js.map +0 -1
  163. package/dist/catppuccin-frappe-dbc3161e.esm.js +0 -1
  164. package/dist/catppuccin-latte-d8a0f6a8.cjs.js +0 -2
  165. package/dist/catppuccin-latte-d8a0f6a8.cjs.js.map +0 -1
  166. package/dist/catppuccin-latte-e7591143.esm.js +0 -1
  167. package/dist/catppuccin-macchiato-19a7795e.cjs.js +0 -2
  168. package/dist/catppuccin-macchiato-19a7795e.cjs.js.map +0 -1
  169. package/dist/catppuccin-macchiato-283b424a.esm.js +0 -1
  170. package/dist/catppuccin-mocha-165e830c.esm.js +0 -1
  171. package/dist/catppuccin-mocha-9f9ec5f6.cjs.js +0 -2
  172. package/dist/catppuccin-mocha-9f9ec5f6.cjs.js.map +0 -1
  173. package/dist/cobol-8517cfc1.esm.js +0 -1
  174. package/dist/cobol-922d57ed.cjs.js +0 -2
  175. package/dist/cobol-922d57ed.cjs.js.map +0 -1
  176. package/dist/go-85139440.esm.js +0 -1
  177. package/dist/go-d5ed1b82.cjs.js +0 -2
  178. package/dist/go-d5ed1b82.cjs.js.map +0 -1
  179. package/dist/hy-33aa9c6f.cjs.js +0 -2
  180. package/dist/hy-33aa9c6f.cjs.js.map +0 -1
  181. package/dist/hy-a7a6e9c3.esm.js +0 -1
  182. package/dist/luau-19444703.cjs.js +0 -2
  183. package/dist/luau-19444703.cjs.js.map +0 -1
  184. package/dist/luau-b564b070.esm.js +0 -1
  185. package/dist/mdc-05d87356.esm.js +0 -1
  186. package/dist/mdc-56aefda2.cjs.js +0 -2
  187. package/dist/mdc-56aefda2.cjs.js.map +0 -1
  188. package/dist/nextflow-11e4899f.esm.js +0 -1
  189. package/dist/nextflow-2a4bf0cc.cjs.js +0 -2
  190. package/dist/nextflow-2a4bf0cc.cjs.js.map +0 -1
  191. package/dist/one-dark-pro-3bcc58f7.cjs.js +0 -2
  192. package/dist/one-dark-pro-3bcc58f7.cjs.js.map +0 -1
  193. package/dist/one-dark-pro-4fce25f8.esm.js +0 -1
  194. package/dist/wikitext-2748811a.cjs.js +0 -2
  195. package/dist/wikitext-2748811a.cjs.js.map +0 -1
  196. package/dist/wikitext-c9071578.esm.js +0 -1
@@ -1 +1 @@
1
- var 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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*(assert|assume|cover|restrict)\\\\b"},"attributes":{"begin":"(?<!@[ \\\\t\\\\r\\\\n]?)\\\\(\\\\*","beginCaptures":{"0":{"name":"punctuation.attribute.rounds.begin"}},"end":"\\\\*\\\\)","endCaptures":{"0":{"name":"punctuation.attribute.rounds.end"}},"name":"meta.attribute.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.operator.assignment.systemverilog"}},"match":"([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]*(=)[ \\\\t\\\\r\\\\n]*)?"},{"include":"#constants"},{"include":"#strings"}]},"base-grammar":{"patterns":[{"include":"#all-types"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"captures":{"1":{"name":"storage.type.interface.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]+[a-zA-Z_][a-zA-Z0-9_,= \\\\t\\\\n]*"},{"include":"#storage-scope"}]},"bind-directive":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(bind)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)\\\\b","name":"meta.definition.systemverilog"},"built-ins":{"patterns":[{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(bit|logic|reg)\\\\b","name":"storage.type.vector.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\b","name":"storage.type.atom.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(shortreal|real|realtime)\\\\b","name":"storage.type.notint.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b","name":"storage.type.net.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\b","name":"storage.type.built-in.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\b","name":"storage.type.uvm.systemverilog"}]},"cast-operator":{"captures":{"1":{"patterns":[{"include":"#built-ins"},{"include":"#constants"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"storage.type.user-defined.systemverilog"}]},"2":{"name":"keyword.operator.cast.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*(\\\\d+|[a-zA-Z_][a-zA-Z0-9_$]*)(\')(?=\\\\()","name":"meta.cast.systemverilog"},"class-declaration":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(virtual[ \\\\t\\\\r\\\\n]+)?(class)(?:[ \\\\t\\\\r\\\\n]+(static|automatic))?[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\t\\\\r\\\\n]+(extends|implements)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*))?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.class.systemverilog"},"3":{"name":"storage.modifier.systemverilog"},"4":{"name":"entity.name.type.class.systemverilog"},"5":{"name":"keyword.control.systemverilog"},"6":{"name":"entity.name.type.class.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.class.end.systemverilog"}},"name":"meta.class.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"entity.name.type.class.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]+\\\\b(extends|implements)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\t\\\\r\\\\n]*,[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$:]*))*"},{"captures":{"1":{"name":"storage.type.userdefined.systemverilog"},"2":{"name":"keyword.operator.param.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]+\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(#)\\\\(","name":"meta.typedef.class.systemverilog"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#module-binding"},{"include":"#identifiers"}]},"comments":{"patterns":[{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"name":"comment.block.systemverilog","patterns":[{"include":"#fixme-todo"}]},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"$\\\\n?","name":"comment.line.double-slash.systemverilog","patterns":[{"include":"#fixme-todo"}]}]},"compiler-directives":{"name":"meta.preprocessor.systemverilog","patterns":[{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"},"3":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)(ifdef|ifndef|elsif|define|undef|pragma)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\b"},{"begin":"(`)(protected)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"end":"(`)(endprotected)\\\\b","endCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"name":"meta.crypto.systemverilog"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b"}]},"constants":{"patterns":[{"match":"(\\\\b[1-9][0-9_]*)?\'([sS]?[bB][ \\\\t\\\\r\\\\n]*[0-1xXzZ?][0-1_xXzZ?]*|[sS]?[oO][ \\\\t\\\\r\\\\n]*[0-7xXzZ?][0-7_xXzZ?]*|[sS]?[dD][ \\\\t\\\\r\\\\n]*[0-9xXzZ?][0-9_xXzZ?]*|[sS]?[hH][ \\\\t\\\\r\\\\n]*[0-9a-fA-FxXzZ?][0-9a-fA-F_xXzZ?]*)((e|E)(\\\\+|-)?\\\\d+)?(?!\'|\\\\w)","name":"constant.numeric.systemverilog"},{"match":"\'[01xXzZ]","name":"constant.numeric.bit.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d_\\\\.]*(?<!\\\\.)(?:e|E)(?:\\\\+|-)?\\\\d+)\\\\b","name":"constant.numeric.exp.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d_\\\\.]*(?!(?:[\\\\d\\\\.]|[ \\\\t\\\\r\\\\n]*(?:e|E|fs|ps|ns|us|ms|s))))\\\\b","name":"constant.numeric.decimal.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d\\\\.]*[ \\\\t\\\\r\\\\n]*(?:fs|ps|ns|us|ms|s))\\\\b","name":"constant.numeric.time.systemverilog"},{"include":"#compiler-directives"},{"match":"\\\\b(?:this|super|null)\\\\b","name":"constant.language.systemverilog"},{"match":"\\\\b([A-Z][A-Z0-9_]*)\\\\b","name":"constant.other.net.systemverilog"},{"match":"\\\\b(?<!\\\\.)([A-Z0-9_]+)(?!\\\\.)\\\\b","name":"constant.numeric.parameter.uppercase.systemverilog"},{"match":"\\\\.\\\\*","name":"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(enum|struct|union(?:[ \\\\t\\\\r\\\\n]+tagged)?|class|interface[ \\\\t\\\\r\\\\n]+class)(?:[ \\\\t\\\\r\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?:[ \\\\t\\\\r\\\\n]+(packed))?(?:[ \\\\t\\\\r\\\\n]+(signed|unsigned))?(?=[ \\\\t\\\\r\\\\n]*(?:{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"}]},"3":{"patterns":[{"include":"#selects"}]},"4":{"name":"storage.modifier.systemverilog"},"5":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n]))(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*[,;]","endCaptures":{"1":{"patterns":[{"include":"#identifiers"}]},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.enum-struct-union.systemverilog","patterns":[{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"fixme-todo":{"patterns":[{"match":"(?i:fixme)","name":"invalid.broken.fixme.systemverilog"},{"match":"(?i:todo)","name":"invalid.unimplemented.todo.systemverilog"}]},"function-task":{"begin":"[ \\\\t\\\\r\\\\n]*(?:\\\\b(virtual)[ \\\\t\\\\r\\\\n]+)?(?:\\\\b(function|task)\\\\b)(?:[ \\\\t\\\\r\\\\n]+\\\\b(static|automatic)\\\\b)?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.function.systemverilog"},"3":{"name":"storage.modifier.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.function.end.systemverilog"}},"name":"meta.function.systemverilog","patterns":[{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"},"3":{"patterns":[{"include":"#built-ins"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"storage.type.user-defined.systemverilog"}]},"4":{"patterns":[{"include":"#modifiers"}]},"5":{"patterns":[{"include":"#selects"}]},"6":{"name":"entity.name.function.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?([a-zA-Z_][a-zA-Z0-9_$]*\\\\b[ \\\\t\\\\r\\\\n]+)?(?:\\\\b(signed|unsigned)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])[ \\\\t\\\\r\\\\n]*)?(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*)(?=\\\\(|;)"},{"include":"#keywords"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"functions":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?!while|for|if|iff|else|case|casex|casez)([a-zA-Z_][a-zA-Z0-9_$]*)(?=[ \\\\t\\\\r\\\\n]*\\\\()","name":"entity.name.function.systemverilog"},"identifiers":{"patterns":[{"match":"\\\\b[a-zA-Z_][a-zA-Z0-9_$]*\\\\b","name":"variable.other.identifier.systemverilog"},{"match":"(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n])","name":"string.regexp.identifier.systemverilog"}]},"imports":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"support.type.scope.systemverilog"},"3":{"name":"keyword.operator.scope.systemverilog"},"4":{"patterns":[{"include":"#operators"},{"include":"#identifiers"}]}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(import|export)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*|\\\\*)[ \\\\t\\\\r\\\\n]*(::)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|\\\\*)[ \\\\t\\\\r\\\\n]*(,|;)","name":"meta.import.systemverilog"},"keywords":{"patterns":[{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\b"},{"include":"#sv-control"},{"include":"#sv-control-begin"},{"include":"#sv-control-end"},{"include":"#sv-definition"},{"include":"#sv-cover-cross"},{"include":"#sv-std"},{"include":"#sv-option"},{"include":"#sv-local"},{"include":"#sv-rand"}]},"modifiers":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\b","name":"storage.modifier.systemverilog"},"module-binding":{"begin":"\\\\.([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*\\\\(","beginCaptures":{"1":{"name":"support.function.port.systemverilog"}},"end":"\\\\),?","name":"meta.port.binding.systemverilog","patterns":[{"include":"#constants"},{"include":"#comments"},{"include":"#operators"},{"include":"#strings"},{"include":"#constants"},{"include":"#storage-scope"},{"include":"#cast-operator"},{"include":"#system-tf"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#identifiers"}]},"module-declaration":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b((?:macro)?module|interface|program|package|modport)[ \\\\t\\\\r\\\\n]+(?:(static|automatic)[ \\\\t\\\\r\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"storage.modifier.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.module.end.systemverilog"}},"name":"meta.module.systemverilog","patterns":[{"include":"#parameters"},{"include":"#port-net-parameter"},{"include":"#imports"},{"include":"#base-grammar"},{"include":"#system-tf"},{"include":"#identifiers"}]},"module-no-parameters":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(bind|pullup|pulldown)[ \\\\t\\\\r\\\\n]+(?:([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)[ \\\\t\\\\r\\\\n]+)?)?((?:\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[npc]mos|r?tran|r?tranif[01])\\\\b|[a-zA-Z_][a-zA-Z0-9_$]*))[ \\\\t\\\\r\\\\n]+(?!intersect|and|or|throughout|within)([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*(?=\\\\(|$)(?!;)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"},"4":{"name":"variable.other.module.systemverilog"},"5":{"patterns":[{"include":"#selects"}]}},"end":"\\\\)(?:[ \\\\t\\\\r\\\\n]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.no_parameters.systemverilog","patterns":[{"include":"#module-binding"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*(\\\\(|$))","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"module-parameters":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(bind)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)[ \\\\t\\\\r\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]+(?!intersect|and|or|throughout|within)(?=#[^#])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":"\\\\)(?:[ \\\\t\\\\r\\\\n]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.parameters.systemverilog","patterns":[{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*\\\\()","name":"variable.other.module.systemverilog"},{"include":"#module-binding"},{"include":"#parameters"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*$)","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"operators":{"patterns":[{"match":"\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\b|:=|:/|\\\\|->|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&","name":"keyword.operator.logical.systemverilog"},{"match":"@|##|#|->|<->","name":"keyword.operator.channel.systemverilog"},{"match":"\\\\+=|-=|/=|\\\\*=|%=|&=|\\\\|=|\\\\^=|>>>=|>>=|<<<=|<<=|<=|=","name":"keyword.operator.assignment.systemverilog"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.systemverilog"},{"match":"--","name":"keyword.operator.decrement.systemverilog"},{"match":"\\\\+|-|\\\\*\\\\*|\\\\*|/|%","name":"keyword.operator.arithmetic.systemverilog"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.systemverilog"},{"match":"<<<|<<|>>>|>>","name":"keyword.operator.bitwise.shift.systemverilog"},{"match":"~&|~\\\\||~|\\\\^~|~\\\\^|&|\\\\||\\\\^|{|\'{|}|:|\\\\?","name":"keyword.operator.bitwise.systemverilog"},{"match":"<=|<|>=|>|==\\\\?|!=\\\\?|===|!==|==|!=","name":"keyword.operator.comparison.systemverilog"}]},"parameters":{"begin":"[ \\\\t\\\\r\\\\n]*(#)[ \\\\t\\\\r\\\\n]*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.channel.systemverilog"},"2":{"name":"punctuation.section.parameters.begin"}},"end":"(\\\\))[ \\\\t\\\\r\\\\n]*(?=;|\\\\(|[a-zA-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-zA-Z_][a-zA-Z0-9_$]*","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\\\\r\\\\n]*(?:\\\\b(output|input|inout|ref)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?(?:([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b(signed|unsigned)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])[ \\\\t\\\\r\\\\n]*)?(?<!(?<!#)[:&|=+\\\\-*/%?><^!~(][ \\\\t\\\\r\\\\n]*)\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?[ \\\\t\\\\r\\\\n]*(?=,|;|=|\\\\)|/|$)","name":"meta.port-net-parameter.declaration.systemverilog"}]},"selects":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.slice.brackets.begin"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.slice.brackets.end"}},"name":"meta.brackets.select.systemverilog","patterns":[{"match":"\\\\$(?![a-z])","name":"constant.language.systemverilog"},{"include":"#system-tf"},{"include":"#constants"},{"include":"#operators"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"variable.other.identifier.systemverilog"}]},"sequence":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.function.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(sequence)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","name":"meta.sequence.systemverilog"},"storage-scope":{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"}},"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::)","name":"meta.scope.systemverilog"},"strings":{"patterns":[{"begin":"`?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":"\\"`?","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.double.systemverilog","patterns":[{"match":"\\\\\\\\(?:[nt\\\\\\\\\\"vfa]|[0-7]{3}|x[0-9a-fA-F]{2})","name":"constant.character.escape.systemverilog"},{"match":"%(\\\\d+\\\\$)?[\'\\\\-+0 #]*[,;:_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh|h|ll|l|j|z|t|L)?[xXhHdDoObBcClLvVmMpPsStTuUzZeEfFgG%]","name":"constant.character.format.placeholder.systemverilog"},{"match":"%","name":"invalid.illegal.placeholder.systemverilog"},{"include":"#fixme-todo"}]},{"begin":"(?<=include)[ \\\\t\\\\r\\\\n]*(<)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":">","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\\\\r\\\\n]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|if|iff|else|case|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|unique|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\\\\r\\\\n]*\\\\b(begin|fork)\\\\b(?:[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?","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\\\\r\\\\n]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?","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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(:))?[ \\\\t\\\\r\\\\n]*(coverpoint|cross)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)","name":"meta.definition.systemverilog"},"sv-definition":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(primitive|package|constraint|interface|covergroup|program)[ \\\\t\\\\r\\\\n]+\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","name":"meta.definition.systemverilog"},"sv-local":{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b"},"sv-option":{"captures":{"1":{"name":"keyword.cover.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(option)\\\\."},"sv-rand":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?:rand|randc)\\\\b","name":"storage.type.rand.systemverilog"},"sv-std":{"match":"\\\\b(std)\\\\b::","name":"support.class.systemverilog"},"system-tf":{"match":"\\\\$[a-zA-Z0-9_$][a-zA-Z0-9_$]*\\\\b","name":"support.function.systemverilog"},"tables":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(table)\\\\b","beginCaptures":{"1":{"name":"keyword.table.systemverilog.begin"}},"end":"[ \\\\t\\\\r\\\\n]*\\\\b(endtable)\\\\b","endCaptures":{"1":{"name":"keyword.table.systemverilog.end"}},"name":"meta.table.systemverilog","patterns":[{"include":"#comments"},{"match":"\\\\b[01xXbBrRfFpPnN]\\\\b","name":"constant.language.systemverilog"},{"match":"[-*?]","name":"constant.language.systemverilog"},{"captures":{"1":{"name":"constant.language.systemverilog"}},"match":"\\\\(([01xX?]{2})\\\\)"},{"match":":","name":"punctuation.definition.label.systemverilog"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},"typedef":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(typedef)[ \\\\t\\\\r\\\\n]+)(?:([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]+\\\\b(signed|unsigned)\\\\b)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?=[ \\\\t\\\\r\\\\n]*[a-zA-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\\\\r\\\\n]*\\\\b(typedef)[ \\\\t\\\\r\\\\n]+(enum|struct|union(?:[ \\\\t\\\\r\\\\n]+tagged)?|class|interface[ \\\\t\\\\r\\\\n]+class)(?:[ \\\\t\\\\r\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?:[ \\\\t\\\\r\\\\n]+(packed))?(?:[ \\\\t\\\\r\\\\n]+(signed|unsigned))?(?=[ \\\\t\\\\r\\\\n]*(?:{|$))","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\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n]))(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*[,;]","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"}'))];export{e as default};
1
+ var 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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*(assert|assume|cover|restrict)\\\\b"},"attributes":{"begin":"(?<!@[ \\\\t\\\\r\\\\n]?)\\\\(\\\\*","beginCaptures":{"0":{"name":"punctuation.attribute.rounds.begin"}},"end":"\\\\*\\\\)","endCaptures":{"0":{"name":"punctuation.attribute.rounds.end"}},"name":"meta.attribute.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.operator.assignment.systemverilog"}},"match":"([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]*(=)[ \\\\t\\\\r\\\\n]*)?"},{"include":"#constants"},{"include":"#strings"}]},"base-grammar":{"patterns":[{"include":"#all-types"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"captures":{"1":{"name":"storage.type.interface.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]+[a-zA-Z_][a-zA-Z0-9_,= \\\\t\\\\n]*"},{"include":"#storage-scope"}]},"bind-directive":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(bind)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)\\\\b","name":"meta.definition.systemverilog"},"built-ins":{"patterns":[{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(bit|logic|reg)\\\\b","name":"storage.type.vector.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\b","name":"storage.type.atom.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(shortreal|real|realtime)\\\\b","name":"storage.type.notint.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b","name":"storage.type.net.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\b","name":"storage.type.built-in.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\b","name":"storage.type.uvm.systemverilog"}]},"cast-operator":{"captures":{"1":{"patterns":[{"include":"#built-ins"},{"include":"#constants"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"storage.type.user-defined.systemverilog"}]},"2":{"name":"keyword.operator.cast.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*(\\\\d+|[a-zA-Z_][a-zA-Z0-9_$]*)(\')(?=\\\\()","name":"meta.cast.systemverilog"},"class-declaration":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(virtual[ \\\\t\\\\r\\\\n]+)?(class)(?:[ \\\\t\\\\r\\\\n]+(static|automatic))?[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\t\\\\r\\\\n]+(extends|implements)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*))?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.class.systemverilog"},"3":{"name":"storage.modifier.systemverilog"},"4":{"name":"entity.name.type.class.systemverilog"},"5":{"name":"keyword.control.systemverilog"},"6":{"name":"entity.name.type.class.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.class.end.systemverilog"}},"name":"meta.class.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"entity.name.type.class.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]+\\\\b(extends|implements)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\t\\\\r\\\\n]*,[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$:]*))*"},{"captures":{"1":{"name":"storage.type.userdefined.systemverilog"},"2":{"name":"keyword.operator.param.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]+\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(#)\\\\(","name":"meta.typedef.class.systemverilog"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#module-binding"},{"include":"#identifiers"}]},"comments":{"patterns":[{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"name":"comment.block.systemverilog","patterns":[{"include":"#fixme-todo"}]},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"$\\\\n?","name":"comment.line.double-slash.systemverilog","patterns":[{"include":"#fixme-todo"}]}]},"compiler-directives":{"name":"meta.preprocessor.systemverilog","patterns":[{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"},"3":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)(ifdef|ifndef|elsif|define|undef|pragma)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\b"},{"begin":"(`)(protected)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"end":"(`)(endprotected)\\\\b","endCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"name":"meta.crypto.systemverilog"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b"}]},"constants":{"patterns":[{"match":"(\\\\b[1-9][0-9_]*)?\'([sS]?[bB][ \\\\t\\\\r\\\\n]*[0-1xXzZ?][0-1_xXzZ?]*|[sS]?[oO][ \\\\t\\\\r\\\\n]*[0-7xXzZ?][0-7_xXzZ?]*|[sS]?[dD][ \\\\t\\\\r\\\\n]*[0-9xXzZ?][0-9_xXzZ?]*|[sS]?[hH][ \\\\t\\\\r\\\\n]*[0-9a-fA-FxXzZ?][0-9a-fA-F_xXzZ?]*)((e|E)(\\\\+|-)?\\\\d+)?(?!\'|\\\\w)","name":"constant.numeric.systemverilog"},{"match":"\'[01xXzZ]","name":"constant.numeric.bit.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d_\\\\.]*(?<!\\\\.)(?:e|E)(?:\\\\+|-)?\\\\d+)\\\\b","name":"constant.numeric.exp.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d_\\\\.]*(?!(?:[\\\\d\\\\.]|[ \\\\t\\\\r\\\\n]*(?:e|E|fs|ps|ns|us|ms|s))))\\\\b","name":"constant.numeric.decimal.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d\\\\.]*[ \\\\t\\\\r\\\\n]*(?:fs|ps|ns|us|ms|s))\\\\b","name":"constant.numeric.time.systemverilog"},{"include":"#compiler-directives"},{"match":"\\\\b(?:this|super|null)\\\\b","name":"constant.language.systemverilog"},{"match":"\\\\b([A-Z][A-Z0-9_]*)\\\\b","name":"constant.other.net.systemverilog"},{"match":"\\\\b(?<!\\\\.)([A-Z0-9_]+)(?!\\\\.)\\\\b","name":"constant.numeric.parameter.uppercase.systemverilog"},{"match":"\\\\.\\\\*","name":"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(enum|struct|union(?:[ \\\\t\\\\r\\\\n]+tagged)?|class|interface[ \\\\t\\\\r\\\\n]+class)(?:[ \\\\t\\\\r\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?:[ \\\\t\\\\r\\\\n]+(packed))?(?:[ \\\\t\\\\r\\\\n]+(signed|unsigned))?(?=[ \\\\t\\\\r\\\\n]*(?:{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"}]},"3":{"patterns":[{"include":"#selects"}]},"4":{"name":"storage.modifier.systemverilog"},"5":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n]))(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*[,;]","endCaptures":{"1":{"patterns":[{"include":"#identifiers"}]},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.enum-struct-union.systemverilog","patterns":[{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"fixme-todo":{"patterns":[{"match":"(?i:fixme)","name":"invalid.broken.fixme.systemverilog"},{"match":"(?i:todo)","name":"invalid.unimplemented.todo.systemverilog"}]},"function-task":{"begin":"[ \\\\t\\\\r\\\\n]*(?:\\\\b(virtual)[ \\\\t\\\\r\\\\n]+)?(?:\\\\b(function|task)\\\\b)(?:[ \\\\t\\\\r\\\\n]+\\\\b(static|automatic)\\\\b)?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.function.systemverilog"},"3":{"name":"storage.modifier.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.function.end.systemverilog"}},"name":"meta.function.systemverilog","patterns":[{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"},"3":{"patterns":[{"include":"#built-ins"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"storage.type.user-defined.systemverilog"}]},"4":{"patterns":[{"include":"#modifiers"}]},"5":{"patterns":[{"include":"#selects"}]},"6":{"name":"entity.name.function.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?([a-zA-Z_][a-zA-Z0-9_$]*\\\\b[ \\\\t\\\\r\\\\n]+)?(?:\\\\b(signed|unsigned)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])[ \\\\t\\\\r\\\\n]*)?(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*)(?=\\\\(|;)"},{"include":"#keywords"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"functions":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?!while|for|if|iff|else|case|casex|casez)([a-zA-Z_][a-zA-Z0-9_$]*)(?=[ \\\\t\\\\r\\\\n]*\\\\()","name":"entity.name.function.systemverilog"},"identifiers":{"patterns":[{"match":"\\\\b[a-zA-Z_][a-zA-Z0-9_$]*\\\\b","name":"variable.other.identifier.systemverilog"},{"match":"(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n])","name":"string.regexp.identifier.systemverilog"}]},"imports":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"support.type.scope.systemverilog"},"3":{"name":"keyword.operator.scope.systemverilog"},"4":{"patterns":[{"include":"#operators"},{"include":"#identifiers"}]}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(import|export)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*|\\\\*)[ \\\\t\\\\r\\\\n]*(::)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|\\\\*)[ \\\\t\\\\r\\\\n]*(,|;)","name":"meta.import.systemverilog"},"keywords":{"patterns":[{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\b"},{"include":"#sv-control"},{"include":"#sv-control-begin"},{"include":"#sv-control-end"},{"include":"#sv-definition"},{"include":"#sv-cover-cross"},{"include":"#sv-std"},{"include":"#sv-option"},{"include":"#sv-local"},{"include":"#sv-rand"}]},"modifiers":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\b","name":"storage.modifier.systemverilog"},"module-binding":{"begin":"\\\\.([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*\\\\(","beginCaptures":{"1":{"name":"support.function.port.systemverilog"}},"end":"\\\\),?","name":"meta.port.binding.systemverilog","patterns":[{"include":"#constants"},{"include":"#comments"},{"include":"#operators"},{"include":"#strings"},{"include":"#constants"},{"include":"#storage-scope"},{"include":"#cast-operator"},{"include":"#system-tf"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#identifiers"}]},"module-declaration":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b((?:macro)?module|interface|program|package|modport)[ \\\\t\\\\r\\\\n]+(?:(static|automatic)[ \\\\t\\\\r\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"storage.modifier.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.module.end.systemverilog"}},"name":"meta.module.systemverilog","patterns":[{"include":"#parameters"},{"include":"#port-net-parameter"},{"include":"#imports"},{"include":"#base-grammar"},{"include":"#system-tf"},{"include":"#identifiers"}]},"module-no-parameters":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(bind|pullup|pulldown)[ \\\\t\\\\r\\\\n]+(?:([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)[ \\\\t\\\\r\\\\n]+)?)?((?:\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[npc]mos|r?tran|r?tranif[01])\\\\b|[a-zA-Z_][a-zA-Z0-9_$]*))[ \\\\t\\\\r\\\\n]+(?!intersect|and|or|throughout|within)([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*(?=\\\\(|$)(?!;)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"},"4":{"name":"variable.other.module.systemverilog"},"5":{"patterns":[{"include":"#selects"}]}},"end":"\\\\)(?:[ \\\\t\\\\r\\\\n]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.no_parameters.systemverilog","patterns":[{"include":"#module-binding"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*(\\\\(|$))","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"module-parameters":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(bind)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)[ \\\\t\\\\r\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]+(?!intersect|and|or|throughout|within)(?=#[^#])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":"\\\\)(?:[ \\\\t\\\\r\\\\n]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.parameters.systemverilog","patterns":[{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*\\\\()","name":"variable.other.module.systemverilog"},{"include":"#module-binding"},{"include":"#parameters"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*$)","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"operators":{"patterns":[{"match":"\\\\+=|-=|/=|\\\\*=|%=|&=|\\\\|=|\\\\^=|>>>=|>>=|<<<=|<<=|<=|=","name":"keyword.operator.assignment.systemverilog"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.systemverilog"},{"match":"--","name":"keyword.operator.decrement.systemverilog"},{"match":"\\\\+|-|\\\\*\\\\*|\\\\*|/|%","name":"keyword.operator.arithmetic.systemverilog"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.systemverilog"},{"match":"<<<|<<|>>>|>>","name":"keyword.operator.bitwise.shift.systemverilog"},{"match":"~&|~\\\\||~|\\\\^~|~\\\\^|&|\\\\||\\\\^|{|\'{|}|:|\\\\?","name":"keyword.operator.bitwise.systemverilog"},{"match":"<=|<|>=|>|==\\\\?|!=\\\\?|===|!==|==|!=","name":"keyword.operator.comparison.systemverilog"},{"match":"@|##|#|->|<->","name":"keyword.operator.channel.systemverilog"},{"match":"\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\b|:=|:/|\\\\|->|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&","name":"keyword.operator.logical.systemverilog"}]},"parameters":{"begin":"[ \\\\t\\\\r\\\\n]*(#)[ \\\\t\\\\r\\\\n]*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.channel.systemverilog"},"2":{"name":"punctuation.section.parameters.begin"}},"end":"(\\\\))[ \\\\t\\\\r\\\\n]*(?=;|\\\\(|[a-zA-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-zA-Z_][a-zA-Z0-9_$]*","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\\\\r\\\\n]*(?:\\\\b(output|input|inout|ref)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?(?:([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b(signed|unsigned)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])[ \\\\t\\\\r\\\\n]*)?(?<!(?<!#)[:&|=+\\\\-*/%?><^!~(][ \\\\t\\\\r\\\\n]*)\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?[ \\\\t\\\\r\\\\n]*(?=,|;|=|\\\\)|/|$)","name":"meta.port-net-parameter.declaration.systemverilog"}]},"selects":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.slice.brackets.begin"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.slice.brackets.end"}},"name":"meta.brackets.select.systemverilog","patterns":[{"match":"\\\\$(?![a-z])","name":"constant.language.systemverilog"},{"include":"#system-tf"},{"include":"#constants"},{"include":"#operators"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"variable.other.identifier.systemverilog"}]},"sequence":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.function.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(sequence)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","name":"meta.sequence.systemverilog"},"storage-scope":{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"}},"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::)","name":"meta.scope.systemverilog"},"strings":{"patterns":[{"begin":"`?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":"\\"`?","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.double.systemverilog","patterns":[{"match":"\\\\\\\\(?:[nt\\\\\\\\\\"vfa]|[0-7]{3}|x[0-9a-fA-F]{2})","name":"constant.character.escape.systemverilog"},{"match":"%(\\\\d+\\\\$)?[\'\\\\-+0 #]*[,;:_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh|h|ll|l|j|z|t|L)?[xXhHdDoObBcClLvVmMpPsStTuUzZeEfFgG%]","name":"constant.character.format.placeholder.systemverilog"},{"match":"%","name":"invalid.illegal.placeholder.systemverilog"},{"include":"#fixme-todo"}]},{"begin":"(?<=include)[ \\\\t\\\\r\\\\n]*(<)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":">","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\\\\r\\\\n]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|if|iff|else|case|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|unique|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\\\\r\\\\n]*\\\\b(begin|fork)\\\\b(?:[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?","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\\\\r\\\\n]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?","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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(:))?[ \\\\t\\\\r\\\\n]*(coverpoint|cross)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)","name":"meta.definition.systemverilog"},"sv-definition":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(primitive|package|constraint|interface|covergroup|program)[ \\\\t\\\\r\\\\n]+\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","name":"meta.definition.systemverilog"},"sv-local":{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b"},"sv-option":{"captures":{"1":{"name":"keyword.cover.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(option)\\\\."},"sv-rand":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?:rand|randc)\\\\b","name":"storage.type.rand.systemverilog"},"sv-std":{"match":"\\\\b(std)\\\\b::","name":"support.class.systemverilog"},"system-tf":{"match":"\\\\$[a-zA-Z0-9_$][a-zA-Z0-9_$]*\\\\b","name":"support.function.systemverilog"},"tables":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(table)\\\\b","beginCaptures":{"1":{"name":"keyword.table.systemverilog.begin"}},"end":"[ \\\\t\\\\r\\\\n]*\\\\b(endtable)\\\\b","endCaptures":{"1":{"name":"keyword.table.systemverilog.end"}},"name":"meta.table.systemverilog","patterns":[{"include":"#comments"},{"match":"\\\\b[01xXbBrRfFpPnN]\\\\b","name":"constant.language.systemverilog"},{"match":"[-*?]","name":"constant.language.systemverilog"},{"captures":{"1":{"name":"constant.language.systemverilog"}},"match":"\\\\(([01xX?]{2})\\\\)"},{"match":":","name":"punctuation.definition.label.systemverilog"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},"typedef":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(typedef)[ \\\\t\\\\r\\\\n]+)(?:([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]+\\\\b(signed|unsigned)\\\\b)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?=[ \\\\t\\\\r\\\\n]*[a-zA-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\\\\r\\\\n]*\\\\b(typedef)[ \\\\t\\\\r\\\\n]+(enum|struct|union(?:[ \\\\t\\\\r\\\\n]+tagged)?|class|interface[ \\\\t\\\\r\\\\n]+class)(?:[ \\\\t\\\\r\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?:[ \\\\t\\\\r\\\\n]+(packed))?(?:[ \\\\t\\\\r\\\\n]+(signed|unsigned))?(?=[ \\\\t\\\\r\\\\n]*(?:{|$))","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\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n]))(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*[,;]","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"}'))];export{e as default};
@@ -1,2 +1,2 @@
1
- System.register([],function(_export,_context){"use strict";var e;return{setters:[],execute:function execute(){_export("default",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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*(assert|assume|cover|restrict)\\\\b"},"attributes":{"begin":"(?<!@[ \\\\t\\\\r\\\\n]?)\\\\(\\\\*","beginCaptures":{"0":{"name":"punctuation.attribute.rounds.begin"}},"end":"\\\\*\\\\)","endCaptures":{"0":{"name":"punctuation.attribute.rounds.end"}},"name":"meta.attribute.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.operator.assignment.systemverilog"}},"match":"([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]*(=)[ \\\\t\\\\r\\\\n]*)?"},{"include":"#constants"},{"include":"#strings"}]},"base-grammar":{"patterns":[{"include":"#all-types"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"captures":{"1":{"name":"storage.type.interface.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]+[a-zA-Z_][a-zA-Z0-9_,= \\\\t\\\\n]*"},{"include":"#storage-scope"}]},"bind-directive":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(bind)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)\\\\b","name":"meta.definition.systemverilog"},"built-ins":{"patterns":[{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(bit|logic|reg)\\\\b","name":"storage.type.vector.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\b","name":"storage.type.atom.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(shortreal|real|realtime)\\\\b","name":"storage.type.notint.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b","name":"storage.type.net.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\b","name":"storage.type.built-in.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\b","name":"storage.type.uvm.systemverilog"}]},"cast-operator":{"captures":{"1":{"patterns":[{"include":"#built-ins"},{"include":"#constants"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"storage.type.user-defined.systemverilog"}]},"2":{"name":"keyword.operator.cast.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*(\\\\d+|[a-zA-Z_][a-zA-Z0-9_$]*)(\')(?=\\\\()","name":"meta.cast.systemverilog"},"class-declaration":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(virtual[ \\\\t\\\\r\\\\n]+)?(class)(?:[ \\\\t\\\\r\\\\n]+(static|automatic))?[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\t\\\\r\\\\n]+(extends|implements)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*))?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.class.systemverilog"},"3":{"name":"storage.modifier.systemverilog"},"4":{"name":"entity.name.type.class.systemverilog"},"5":{"name":"keyword.control.systemverilog"},"6":{"name":"entity.name.type.class.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.class.end.systemverilog"}},"name":"meta.class.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"entity.name.type.class.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]+\\\\b(extends|implements)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\t\\\\r\\\\n]*,[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$:]*))*"},{"captures":{"1":{"name":"storage.type.userdefined.systemverilog"},"2":{"name":"keyword.operator.param.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]+\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(#)\\\\(","name":"meta.typedef.class.systemverilog"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#module-binding"},{"include":"#identifiers"}]},"comments":{"patterns":[{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"name":"comment.block.systemverilog","patterns":[{"include":"#fixme-todo"}]},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"$\\\\n?","name":"comment.line.double-slash.systemverilog","patterns":[{"include":"#fixme-todo"}]}]},"compiler-directives":{"name":"meta.preprocessor.systemverilog","patterns":[{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"},"3":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)(ifdef|ifndef|elsif|define|undef|pragma)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\b"},{"begin":"(`)(protected)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"end":"(`)(endprotected)\\\\b","endCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"name":"meta.crypto.systemverilog"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b"}]},"constants":{"patterns":[{"match":"(\\\\b[1-9][0-9_]*)?\'([sS]?[bB][ \\\\t\\\\r\\\\n]*[0-1xXzZ?][0-1_xXzZ?]*|[sS]?[oO][ \\\\t\\\\r\\\\n]*[0-7xXzZ?][0-7_xXzZ?]*|[sS]?[dD][ \\\\t\\\\r\\\\n]*[0-9xXzZ?][0-9_xXzZ?]*|[sS]?[hH][ \\\\t\\\\r\\\\n]*[0-9a-fA-FxXzZ?][0-9a-fA-F_xXzZ?]*)((e|E)(\\\\+|-)?\\\\d+)?(?!\'|\\\\w)","name":"constant.numeric.systemverilog"},{"match":"\'[01xXzZ]","name":"constant.numeric.bit.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d_\\\\.]*(?<!\\\\.)(?:e|E)(?:\\\\+|-)?\\\\d+)\\\\b","name":"constant.numeric.exp.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d_\\\\.]*(?!(?:[\\\\d\\\\.]|[ \\\\t\\\\r\\\\n]*(?:e|E|fs|ps|ns|us|ms|s))))\\\\b","name":"constant.numeric.decimal.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d\\\\.]*[ \\\\t\\\\r\\\\n]*(?:fs|ps|ns|us|ms|s))\\\\b","name":"constant.numeric.time.systemverilog"},{"include":"#compiler-directives"},{"match":"\\\\b(?:this|super|null)\\\\b","name":"constant.language.systemverilog"},{"match":"\\\\b([A-Z][A-Z0-9_]*)\\\\b","name":"constant.other.net.systemverilog"},{"match":"\\\\b(?<!\\\\.)([A-Z0-9_]+)(?!\\\\.)\\\\b","name":"constant.numeric.parameter.uppercase.systemverilog"},{"match":"\\\\.\\\\*","name":"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(enum|struct|union(?:[ \\\\t\\\\r\\\\n]+tagged)?|class|interface[ \\\\t\\\\r\\\\n]+class)(?:[ \\\\t\\\\r\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?:[ \\\\t\\\\r\\\\n]+(packed))?(?:[ \\\\t\\\\r\\\\n]+(signed|unsigned))?(?=[ \\\\t\\\\r\\\\n]*(?:{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"}]},"3":{"patterns":[{"include":"#selects"}]},"4":{"name":"storage.modifier.systemverilog"},"5":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n]))(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*[,;]","endCaptures":{"1":{"patterns":[{"include":"#identifiers"}]},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.enum-struct-union.systemverilog","patterns":[{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"fixme-todo":{"patterns":[{"match":"(?i:fixme)","name":"invalid.broken.fixme.systemverilog"},{"match":"(?i:todo)","name":"invalid.unimplemented.todo.systemverilog"}]},"function-task":{"begin":"[ \\\\t\\\\r\\\\n]*(?:\\\\b(virtual)[ \\\\t\\\\r\\\\n]+)?(?:\\\\b(function|task)\\\\b)(?:[ \\\\t\\\\r\\\\n]+\\\\b(static|automatic)\\\\b)?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.function.systemverilog"},"3":{"name":"storage.modifier.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.function.end.systemverilog"}},"name":"meta.function.systemverilog","patterns":[{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"},"3":{"patterns":[{"include":"#built-ins"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"storage.type.user-defined.systemverilog"}]},"4":{"patterns":[{"include":"#modifiers"}]},"5":{"patterns":[{"include":"#selects"}]},"6":{"name":"entity.name.function.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?([a-zA-Z_][a-zA-Z0-9_$]*\\\\b[ \\\\t\\\\r\\\\n]+)?(?:\\\\b(signed|unsigned)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])[ \\\\t\\\\r\\\\n]*)?(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*)(?=\\\\(|;)"},{"include":"#keywords"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"functions":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?!while|for|if|iff|else|case|casex|casez)([a-zA-Z_][a-zA-Z0-9_$]*)(?=[ \\\\t\\\\r\\\\n]*\\\\()","name":"entity.name.function.systemverilog"},"identifiers":{"patterns":[{"match":"\\\\b[a-zA-Z_][a-zA-Z0-9_$]*\\\\b","name":"variable.other.identifier.systemverilog"},{"match":"(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n])","name":"string.regexp.identifier.systemverilog"}]},"imports":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"support.type.scope.systemverilog"},"3":{"name":"keyword.operator.scope.systemverilog"},"4":{"patterns":[{"include":"#operators"},{"include":"#identifiers"}]}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(import|export)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*|\\\\*)[ \\\\t\\\\r\\\\n]*(::)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|\\\\*)[ \\\\t\\\\r\\\\n]*(,|;)","name":"meta.import.systemverilog"},"keywords":{"patterns":[{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\b"},{"include":"#sv-control"},{"include":"#sv-control-begin"},{"include":"#sv-control-end"},{"include":"#sv-definition"},{"include":"#sv-cover-cross"},{"include":"#sv-std"},{"include":"#sv-option"},{"include":"#sv-local"},{"include":"#sv-rand"}]},"modifiers":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\b","name":"storage.modifier.systemverilog"},"module-binding":{"begin":"\\\\.([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*\\\\(","beginCaptures":{"1":{"name":"support.function.port.systemverilog"}},"end":"\\\\),?","name":"meta.port.binding.systemverilog","patterns":[{"include":"#constants"},{"include":"#comments"},{"include":"#operators"},{"include":"#strings"},{"include":"#constants"},{"include":"#storage-scope"},{"include":"#cast-operator"},{"include":"#system-tf"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#identifiers"}]},"module-declaration":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b((?:macro)?module|interface|program|package|modport)[ \\\\t\\\\r\\\\n]+(?:(static|automatic)[ \\\\t\\\\r\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"storage.modifier.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.module.end.systemverilog"}},"name":"meta.module.systemverilog","patterns":[{"include":"#parameters"},{"include":"#port-net-parameter"},{"include":"#imports"},{"include":"#base-grammar"},{"include":"#system-tf"},{"include":"#identifiers"}]},"module-no-parameters":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(bind|pullup|pulldown)[ \\\\t\\\\r\\\\n]+(?:([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)[ \\\\t\\\\r\\\\n]+)?)?((?:\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[npc]mos|r?tran|r?tranif[01])\\\\b|[a-zA-Z_][a-zA-Z0-9_$]*))[ \\\\t\\\\r\\\\n]+(?!intersect|and|or|throughout|within)([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*(?=\\\\(|$)(?!;)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"},"4":{"name":"variable.other.module.systemverilog"},"5":{"patterns":[{"include":"#selects"}]}},"end":"\\\\)(?:[ \\\\t\\\\r\\\\n]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.no_parameters.systemverilog","patterns":[{"include":"#module-binding"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*(\\\\(|$))","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"module-parameters":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(bind)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)[ \\\\t\\\\r\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]+(?!intersect|and|or|throughout|within)(?=#[^#])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":"\\\\)(?:[ \\\\t\\\\r\\\\n]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.parameters.systemverilog","patterns":[{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*\\\\()","name":"variable.other.module.systemverilog"},{"include":"#module-binding"},{"include":"#parameters"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*$)","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"operators":{"patterns":[{"match":"\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\b|:=|:/|\\\\|->|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&","name":"keyword.operator.logical.systemverilog"},{"match":"@|##|#|->|<->","name":"keyword.operator.channel.systemverilog"},{"match":"\\\\+=|-=|/=|\\\\*=|%=|&=|\\\\|=|\\\\^=|>>>=|>>=|<<<=|<<=|<=|=","name":"keyword.operator.assignment.systemverilog"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.systemverilog"},{"match":"--","name":"keyword.operator.decrement.systemverilog"},{"match":"\\\\+|-|\\\\*\\\\*|\\\\*|/|%","name":"keyword.operator.arithmetic.systemverilog"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.systemverilog"},{"match":"<<<|<<|>>>|>>","name":"keyword.operator.bitwise.shift.systemverilog"},{"match":"~&|~\\\\||~|\\\\^~|~\\\\^|&|\\\\||\\\\^|{|\'{|}|:|\\\\?","name":"keyword.operator.bitwise.systemverilog"},{"match":"<=|<|>=|>|==\\\\?|!=\\\\?|===|!==|==|!=","name":"keyword.operator.comparison.systemverilog"}]},"parameters":{"begin":"[ \\\\t\\\\r\\\\n]*(#)[ \\\\t\\\\r\\\\n]*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.channel.systemverilog"},"2":{"name":"punctuation.section.parameters.begin"}},"end":"(\\\\))[ \\\\t\\\\r\\\\n]*(?=;|\\\\(|[a-zA-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-zA-Z_][a-zA-Z0-9_$]*","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\\\\r\\\\n]*(?:\\\\b(output|input|inout|ref)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?(?:([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b(signed|unsigned)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])[ \\\\t\\\\r\\\\n]*)?(?<!(?<!#)[:&|=+\\\\-*/%?><^!~(][ \\\\t\\\\r\\\\n]*)\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?[ \\\\t\\\\r\\\\n]*(?=,|;|=|\\\\)|/|$)","name":"meta.port-net-parameter.declaration.systemverilog"}]},"selects":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.slice.brackets.begin"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.slice.brackets.end"}},"name":"meta.brackets.select.systemverilog","patterns":[{"match":"\\\\$(?![a-z])","name":"constant.language.systemverilog"},{"include":"#system-tf"},{"include":"#constants"},{"include":"#operators"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"variable.other.identifier.systemverilog"}]},"sequence":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.function.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(sequence)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","name":"meta.sequence.systemverilog"},"storage-scope":{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"}},"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::)","name":"meta.scope.systemverilog"},"strings":{"patterns":[{"begin":"`?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":"\\"`?","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.double.systemverilog","patterns":[{"match":"\\\\\\\\(?:[nt\\\\\\\\\\"vfa]|[0-7]{3}|x[0-9a-fA-F]{2})","name":"constant.character.escape.systemverilog"},{"match":"%(\\\\d+\\\\$)?[\'\\\\-+0 #]*[,;:_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh|h|ll|l|j|z|t|L)?[xXhHdDoObBcClLvVmMpPsStTuUzZeEfFgG%]","name":"constant.character.format.placeholder.systemverilog"},{"match":"%","name":"invalid.illegal.placeholder.systemverilog"},{"include":"#fixme-todo"}]},{"begin":"(?<=include)[ \\\\t\\\\r\\\\n]*(<)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":">","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\\\\r\\\\n]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|if|iff|else|case|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|unique|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\\\\r\\\\n]*\\\\b(begin|fork)\\\\b(?:[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?","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\\\\r\\\\n]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?","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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(:))?[ \\\\t\\\\r\\\\n]*(coverpoint|cross)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)","name":"meta.definition.systemverilog"},"sv-definition":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(primitive|package|constraint|interface|covergroup|program)[ \\\\t\\\\r\\\\n]+\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","name":"meta.definition.systemverilog"},"sv-local":{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b"},"sv-option":{"captures":{"1":{"name":"keyword.cover.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(option)\\\\."},"sv-rand":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?:rand|randc)\\\\b","name":"storage.type.rand.systemverilog"},"sv-std":{"match":"\\\\b(std)\\\\b::","name":"support.class.systemverilog"},"system-tf":{"match":"\\\\$[a-zA-Z0-9_$][a-zA-Z0-9_$]*\\\\b","name":"support.function.systemverilog"},"tables":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(table)\\\\b","beginCaptures":{"1":{"name":"keyword.table.systemverilog.begin"}},"end":"[ \\\\t\\\\r\\\\n]*\\\\b(endtable)\\\\b","endCaptures":{"1":{"name":"keyword.table.systemverilog.end"}},"name":"meta.table.systemverilog","patterns":[{"include":"#comments"},{"match":"\\\\b[01xXbBrRfFpPnN]\\\\b","name":"constant.language.systemverilog"},{"match":"[-*?]","name":"constant.language.systemverilog"},{"captures":{"1":{"name":"constant.language.systemverilog"}},"match":"\\\\(([01xX?]{2})\\\\)"},{"match":":","name":"punctuation.definition.label.systemverilog"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},"typedef":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(typedef)[ \\\\t\\\\r\\\\n]+)(?:([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]+\\\\b(signed|unsigned)\\\\b)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?=[ \\\\t\\\\r\\\\n]*[a-zA-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\\\\r\\\\n]*\\\\b(typedef)[ \\\\t\\\\r\\\\n]+(enum|struct|union(?:[ \\\\t\\\\r\\\\n]+tagged)?|class|interface[ \\\\t\\\\r\\\\n]+class)(?:[ \\\\t\\\\r\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?:[ \\\\t\\\\r\\\\n]+(packed))?(?:[ \\\\t\\\\r\\\\n]+(signed|unsigned))?(?=[ \\\\t\\\\r\\\\n]*(?:{|$))","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\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n]))(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*[,;]","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"}'))]);}};});
2
- //# sourceMappingURL=system-verilog-b3e652eb.cjs.js.map
1
+ System.register([],function(_export,_context){"use strict";var e;return{setters:[],execute:function execute(){_export("default",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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*(assert|assume|cover|restrict)\\\\b"},"attributes":{"begin":"(?<!@[ \\\\t\\\\r\\\\n]?)\\\\(\\\\*","beginCaptures":{"0":{"name":"punctuation.attribute.rounds.begin"}},"end":"\\\\*\\\\)","endCaptures":{"0":{"name":"punctuation.attribute.rounds.end"}},"name":"meta.attribute.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.operator.assignment.systemverilog"}},"match":"([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]*(=)[ \\\\t\\\\r\\\\n]*)?"},{"include":"#constants"},{"include":"#strings"}]},"base-grammar":{"patterns":[{"include":"#all-types"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"captures":{"1":{"name":"storage.type.interface.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]+[a-zA-Z_][a-zA-Z0-9_,= \\\\t\\\\n]*"},{"include":"#storage-scope"}]},"bind-directive":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(bind)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)\\\\b","name":"meta.definition.systemverilog"},"built-ins":{"patterns":[{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(bit|logic|reg)\\\\b","name":"storage.type.vector.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\b","name":"storage.type.atom.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(shortreal|real|realtime)\\\\b","name":"storage.type.notint.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b","name":"storage.type.net.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\b","name":"storage.type.built-in.systemverilog"},{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\b","name":"storage.type.uvm.systemverilog"}]},"cast-operator":{"captures":{"1":{"patterns":[{"include":"#built-ins"},{"include":"#constants"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"storage.type.user-defined.systemverilog"}]},"2":{"name":"keyword.operator.cast.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*(\\\\d+|[a-zA-Z_][a-zA-Z0-9_$]*)(\')(?=\\\\()","name":"meta.cast.systemverilog"},"class-declaration":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(virtual[ \\\\t\\\\r\\\\n]+)?(class)(?:[ \\\\t\\\\r\\\\n]+(static|automatic))?[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\t\\\\r\\\\n]+(extends|implements)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*))?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.class.systemverilog"},"3":{"name":"storage.modifier.systemverilog"},"4":{"name":"entity.name.type.class.systemverilog"},"5":{"name":"keyword.control.systemverilog"},"6":{"name":"entity.name.type.class.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.class.end.systemverilog"}},"name":"meta.class.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"entity.name.type.class.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]+\\\\b(extends|implements)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\t\\\\r\\\\n]*,[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$:]*))*"},{"captures":{"1":{"name":"storage.type.userdefined.systemverilog"},"2":{"name":"keyword.operator.param.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]+\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(#)\\\\(","name":"meta.typedef.class.systemverilog"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#module-binding"},{"include":"#identifiers"}]},"comments":{"patterns":[{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"name":"comment.block.systemverilog","patterns":[{"include":"#fixme-todo"}]},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"$\\\\n?","name":"comment.line.double-slash.systemverilog","patterns":[{"include":"#fixme-todo"}]}]},"compiler-directives":{"name":"meta.preprocessor.systemverilog","patterns":[{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"},"3":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)(ifdef|ifndef|elsif|define|undef|pragma)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\b"},{"begin":"(`)(protected)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"end":"(`)(endprotected)\\\\b","endCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"name":"meta.crypto.systemverilog"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b"}]},"constants":{"patterns":[{"match":"(\\\\b[1-9][0-9_]*)?\'([sS]?[bB][ \\\\t\\\\r\\\\n]*[0-1xXzZ?][0-1_xXzZ?]*|[sS]?[oO][ \\\\t\\\\r\\\\n]*[0-7xXzZ?][0-7_xXzZ?]*|[sS]?[dD][ \\\\t\\\\r\\\\n]*[0-9xXzZ?][0-9_xXzZ?]*|[sS]?[hH][ \\\\t\\\\r\\\\n]*[0-9a-fA-FxXzZ?][0-9a-fA-F_xXzZ?]*)((e|E)(\\\\+|-)?\\\\d+)?(?!\'|\\\\w)","name":"constant.numeric.systemverilog"},{"match":"\'[01xXzZ]","name":"constant.numeric.bit.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d_\\\\.]*(?<!\\\\.)(?:e|E)(?:\\\\+|-)?\\\\d+)\\\\b","name":"constant.numeric.exp.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d_\\\\.]*(?!(?:[\\\\d\\\\.]|[ \\\\t\\\\r\\\\n]*(?:e|E|fs|ps|ns|us|ms|s))))\\\\b","name":"constant.numeric.decimal.systemverilog"},{"match":"\\\\b(?:\\\\d[\\\\d\\\\.]*[ \\\\t\\\\r\\\\n]*(?:fs|ps|ns|us|ms|s))\\\\b","name":"constant.numeric.time.systemverilog"},{"include":"#compiler-directives"},{"match":"\\\\b(?:this|super|null)\\\\b","name":"constant.language.systemverilog"},{"match":"\\\\b([A-Z][A-Z0-9_]*)\\\\b","name":"constant.other.net.systemverilog"},{"match":"\\\\b(?<!\\\\.)([A-Z0-9_]+)(?!\\\\.)\\\\b","name":"constant.numeric.parameter.uppercase.systemverilog"},{"match":"\\\\.\\\\*","name":"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(enum|struct|union(?:[ \\\\t\\\\r\\\\n]+tagged)?|class|interface[ \\\\t\\\\r\\\\n]+class)(?:[ \\\\t\\\\r\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?:[ \\\\t\\\\r\\\\n]+(packed))?(?:[ \\\\t\\\\r\\\\n]+(signed|unsigned))?(?=[ \\\\t\\\\r\\\\n]*(?:{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"}]},"3":{"patterns":[{"include":"#selects"}]},"4":{"name":"storage.modifier.systemverilog"},"5":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n]))(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*[,;]","endCaptures":{"1":{"patterns":[{"include":"#identifiers"}]},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.enum-struct-union.systemverilog","patterns":[{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"fixme-todo":{"patterns":[{"match":"(?i:fixme)","name":"invalid.broken.fixme.systemverilog"},{"match":"(?i:todo)","name":"invalid.unimplemented.todo.systemverilog"}]},"function-task":{"begin":"[ \\\\t\\\\r\\\\n]*(?:\\\\b(virtual)[ \\\\t\\\\r\\\\n]+)?(?:\\\\b(function|task)\\\\b)(?:[ \\\\t\\\\r\\\\n]+\\\\b(static|automatic)\\\\b)?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.function.systemverilog"},"3":{"name":"storage.modifier.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.function.end.systemverilog"}},"name":"meta.function.systemverilog","patterns":[{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"},"3":{"patterns":[{"include":"#built-ins"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"storage.type.user-defined.systemverilog"}]},"4":{"patterns":[{"include":"#modifiers"}]},"5":{"patterns":[{"include":"#selects"}]},"6":{"name":"entity.name.function.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?([a-zA-Z_][a-zA-Z0-9_$]*\\\\b[ \\\\t\\\\r\\\\n]+)?(?:\\\\b(signed|unsigned)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])[ \\\\t\\\\r\\\\n]*)?(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*)(?=\\\\(|;)"},{"include":"#keywords"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"functions":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?!while|for|if|iff|else|case|casex|casez)([a-zA-Z_][a-zA-Z0-9_$]*)(?=[ \\\\t\\\\r\\\\n]*\\\\()","name":"entity.name.function.systemverilog"},"identifiers":{"patterns":[{"match":"\\\\b[a-zA-Z_][a-zA-Z0-9_$]*\\\\b","name":"variable.other.identifier.systemverilog"},{"match":"(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n])","name":"string.regexp.identifier.systemverilog"}]},"imports":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"support.type.scope.systemverilog"},"3":{"name":"keyword.operator.scope.systemverilog"},"4":{"patterns":[{"include":"#operators"},{"include":"#identifiers"}]}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(import|export)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*|\\\\*)[ \\\\t\\\\r\\\\n]*(::)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|\\\\*)[ \\\\t\\\\r\\\\n]*(,|;)","name":"meta.import.systemverilog"},"keywords":{"patterns":[{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\b"},{"include":"#sv-control"},{"include":"#sv-control-begin"},{"include":"#sv-control-end"},{"include":"#sv-definition"},{"include":"#sv-cover-cross"},{"include":"#sv-std"},{"include":"#sv-option"},{"include":"#sv-local"},{"include":"#sv-rand"}]},"modifiers":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\b","name":"storage.modifier.systemverilog"},"module-binding":{"begin":"\\\\.([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*\\\\(","beginCaptures":{"1":{"name":"support.function.port.systemverilog"}},"end":"\\\\),?","name":"meta.port.binding.systemverilog","patterns":[{"include":"#constants"},{"include":"#comments"},{"include":"#operators"},{"include":"#strings"},{"include":"#constants"},{"include":"#storage-scope"},{"include":"#cast-operator"},{"include":"#system-tf"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#identifiers"}]},"module-declaration":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b((?:macro)?module|interface|program|package|modport)[ \\\\t\\\\r\\\\n]+(?:(static|automatic)[ \\\\t\\\\r\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"storage.modifier.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.module.end.systemverilog"}},"name":"meta.module.systemverilog","patterns":[{"include":"#parameters"},{"include":"#port-net-parameter"},{"include":"#imports"},{"include":"#base-grammar"},{"include":"#system-tf"},{"include":"#identifiers"}]},"module-no-parameters":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(bind|pullup|pulldown)[ \\\\t\\\\r\\\\n]+(?:([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)[ \\\\t\\\\r\\\\n]+)?)?((?:\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[npc]mos|r?tran|r?tranif[01])\\\\b|[a-zA-Z_][a-zA-Z0-9_$]*))[ \\\\t\\\\r\\\\n]+(?!intersect|and|or|throughout|within)([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*(?=\\\\(|$)(?!;)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"},"4":{"name":"variable.other.module.systemverilog"},"5":{"patterns":[{"include":"#selects"}]}},"end":"\\\\)(?:[ \\\\t\\\\r\\\\n]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.no_parameters.systemverilog","patterns":[{"include":"#module-binding"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*(\\\\(|$))","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"module-parameters":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(bind)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)[ \\\\t\\\\r\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]+(?!intersect|and|or|throughout|within)(?=#[^#])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":"\\\\)(?:[ \\\\t\\\\r\\\\n]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.parameters.systemverilog","patterns":[{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*\\\\()","name":"variable.other.module.systemverilog"},{"include":"#module-binding"},{"include":"#parameters"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*$)","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"operators":{"patterns":[{"match":"\\\\+=|-=|/=|\\\\*=|%=|&=|\\\\|=|\\\\^=|>>>=|>>=|<<<=|<<=|<=|=","name":"keyword.operator.assignment.systemverilog"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.systemverilog"},{"match":"--","name":"keyword.operator.decrement.systemverilog"},{"match":"\\\\+|-|\\\\*\\\\*|\\\\*|/|%","name":"keyword.operator.arithmetic.systemverilog"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.systemverilog"},{"match":"<<<|<<|>>>|>>","name":"keyword.operator.bitwise.shift.systemverilog"},{"match":"~&|~\\\\||~|\\\\^~|~\\\\^|&|\\\\||\\\\^|{|\'{|}|:|\\\\?","name":"keyword.operator.bitwise.systemverilog"},{"match":"<=|<|>=|>|==\\\\?|!=\\\\?|===|!==|==|!=","name":"keyword.operator.comparison.systemverilog"},{"match":"@|##|#|->|<->","name":"keyword.operator.channel.systemverilog"},{"match":"\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\b|:=|:/|\\\\|->|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&","name":"keyword.operator.logical.systemverilog"}]},"parameters":{"begin":"[ \\\\t\\\\r\\\\n]*(#)[ \\\\t\\\\r\\\\n]*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.channel.systemverilog"},"2":{"name":"punctuation.section.parameters.begin"}},"end":"(\\\\))[ \\\\t\\\\r\\\\n]*(?=;|\\\\(|[a-zA-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-zA-Z_][a-zA-Z0-9_$]*","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\\\\r\\\\n]*(?:\\\\b(output|input|inout|ref)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?(?:([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b(signed|unsigned)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])[ \\\\t\\\\r\\\\n]*)?(?<!(?<!#)[:&|=+\\\\-*/%?><^!~(][ \\\\t\\\\r\\\\n]*)\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?[ \\\\t\\\\r\\\\n]*(?=,|;|=|\\\\)|/|$)","name":"meta.port-net-parameter.declaration.systemverilog"}]},"selects":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.slice.brackets.begin"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.slice.brackets.end"}},"name":"meta.brackets.select.systemverilog","patterns":[{"match":"\\\\$(?![a-z])","name":"constant.language.systemverilog"},{"include":"#system-tf"},{"include":"#constants"},{"include":"#operators"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"match":"[a-zA-Z_][a-zA-Z0-9_$]*","name":"variable.other.identifier.systemverilog"}]},"sequence":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.function.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(sequence)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","name":"meta.sequence.systemverilog"},"storage-scope":{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"}},"match":"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::)","name":"meta.scope.systemverilog"},"strings":{"patterns":[{"begin":"`?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":"\\"`?","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.double.systemverilog","patterns":[{"match":"\\\\\\\\(?:[nt\\\\\\\\\\"vfa]|[0-7]{3}|x[0-9a-fA-F]{2})","name":"constant.character.escape.systemverilog"},{"match":"%(\\\\d+\\\\$)?[\'\\\\-+0 #]*[,;:_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh|h|ll|l|j|z|t|L)?[xXhHdDoObBcClLvVmMpPsStTuUzZeEfFgG%]","name":"constant.character.format.placeholder.systemverilog"},{"match":"%","name":"invalid.illegal.placeholder.systemverilog"},{"include":"#fixme-todo"}]},{"begin":"(?<=include)[ \\\\t\\\\r\\\\n]*(<)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":">","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\\\\r\\\\n]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|if|iff|else|case|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|unique|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\\\\r\\\\n]*\\\\b(begin|fork)\\\\b(?:[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?","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\\\\r\\\\n]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?","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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(:))?[ \\\\t\\\\r\\\\n]*(coverpoint|cross)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)","name":"meta.definition.systemverilog"},"sv-definition":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(primitive|package|constraint|interface|covergroup|program)[ \\\\t\\\\r\\\\n]+\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b","name":"meta.definition.systemverilog"},"sv-local":{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b"},"sv-option":{"captures":{"1":{"name":"keyword.cover.systemverilog"}},"match":"[ \\\\t\\\\r\\\\n]*\\\\b(option)\\\\."},"sv-rand":{"match":"[ \\\\t\\\\r\\\\n]*\\\\b(?:rand|randc)\\\\b","name":"storage.type.rand.systemverilog"},"sv-std":{"match":"\\\\b(std)\\\\b::","name":"support.class.systemverilog"},"system-tf":{"match":"\\\\$[a-zA-Z0-9_$][a-zA-Z0-9_$]*\\\\b","name":"support.function.systemverilog"},"tables":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(table)\\\\b","beginCaptures":{"1":{"name":"keyword.table.systemverilog.begin"}},"end":"[ \\\\t\\\\r\\\\n]*\\\\b(endtable)\\\\b","endCaptures":{"1":{"name":"keyword.table.systemverilog.end"}},"name":"meta.table.systemverilog","patterns":[{"include":"#comments"},{"match":"\\\\b[01xXbBrRfFpPnN]\\\\b","name":"constant.language.systemverilog"},{"match":"[-*?]","name":"constant.language.systemverilog"},{"captures":{"1":{"name":"constant.language.systemverilog"}},"match":"\\\\(([01xX?]{2})\\\\)"},{"match":":","name":"punctuation.definition.label.systemverilog"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},"typedef":{"begin":"[ \\\\t\\\\r\\\\n]*\\\\b(?:(typedef)[ \\\\t\\\\r\\\\n]+)(?:([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]+\\\\b(signed|unsigned)\\\\b)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?=[ \\\\t\\\\r\\\\n]*[a-zA-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\\\\r\\\\n]*\\\\b(typedef)[ \\\\t\\\\r\\\\n]+(enum|struct|union(?:[ \\\\t\\\\r\\\\n]+tagged)?|class|interface[ \\\\t\\\\r\\\\n]+class)(?:[ \\\\t\\\\r\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?:[ \\\\t\\\\r\\\\n]+(packed))?(?:[ \\\\t\\\\r\\\\n]+(signed|unsigned))?(?=[ \\\\t\\\\r\\\\n]*(?:{|$))","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\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n]))(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`\' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*[,;]","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"}'))]);}};});
2
+ //# sourceMappingURL=system-verilog-7d2d7268.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-verilog-b3e652eb.cjs.js","sources":["../../../node_modules/shiki/dist/langs/system-verilog.mjs"],"sourcesContent":["const lang = 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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(:)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(assert|assume|cover|restrict)\\\\\\\\b\\\"},\\\"attributes\\\":{\\\"begin\\\":\\\"(?<!@[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]?)\\\\\\\\(\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.attribute.rounds.begin\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.attribute.rounds.end\\\"}},\\\"name\\\":\\\"meta.attribute.systemverilog\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.systemverilog\\\"}},\\\"match\\\":\\\"([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(=)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"}]},\\\"base-grammar\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#all-types\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.interface.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+[a-zA-Z_][a-zA-Z0-9_,= \\\\\\\\t\\\\\\\\n]*\\\"},{\\\"include\\\":\\\"#storage-scope\\\"}]},\\\"bind-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(bind)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\\\\\.]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.definition.systemverilog\\\"},\\\"built-ins\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(bit|logic|reg)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.vector.systemverilog\\\"},{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.atom.systemverilog\\\"},{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(shortreal|real|realtime)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.notint.systemverilog\\\"},{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.net.systemverilog\\\"},{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.built-in.systemverilog\\\"},{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.uvm.systemverilog\\\"}]},\\\"cast-operator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#built-ins\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"match\\\":\\\"[a-zA-Z_][a-zA-Z0-9_$]*\\\",\\\"name\\\":\\\"storage.type.user-defined.systemverilog\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.cast.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\d+|[a-zA-Z_][a-zA-Z0-9_$]*)(')(?=\\\\\\\\()\\\",\\\"name\\\":\\\"meta.cast.systemverilog\\\"},\\\"class-declaration\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(virtual[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?(class)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(static|automatic))?[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(extends|implements)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.class.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.class.systemverilog\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+\\\\\\\\b(extends|implements)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*,[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$:]*))*\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.userdefined.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.param.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(#)\\\\\\\\(\\\",\\\"name\\\":\\\"meta.typedef.class.systemverilog\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"include\\\":\\\"#base-grammar\\\"},{\\\"include\\\":\\\"#module-binding\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.systemverilog\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.systemverilog\\\"}},\\\"name\\\":\\\"comment.block.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fixme-todo\\\"}]},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.systemverilog\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fixme-todo\\\"}]}]},\\\"compiler-directives\\\":{\\\"name\\\":\\\"meta.preprocessor.systemverilog\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.regexp.systemverilog\\\"}},\\\"match\\\":\\\"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.regexp.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.preprocessor.systemverilog\\\"}},\\\"match\\\":\\\"(`)(ifdef|ifndef|elsif|define|undef|pragma)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.regexp.systemverilog\\\"}},\\\"match\\\":\\\"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(`)(protected)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.regexp.systemverilog\\\"}},\\\"end\\\":\\\"(`)(endprotected)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.regexp.systemverilog\\\"}},\\\"name\\\":\\\"meta.crypto.systemverilog\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.constant.preprocessor.systemverilog\\\"}},\\\"match\\\":\\\"(`)([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\b[1-9][0-9_]*)?'([sS]?[bB][ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[0-1xXzZ?][0-1_xXzZ?]*|[sS]?[oO][ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[0-7xXzZ?][0-7_xXzZ?]*|[sS]?[dD][ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[0-9xXzZ?][0-9_xXzZ?]*|[sS]?[hH][ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[0-9a-fA-FxXzZ?][0-9a-fA-F_xXzZ?]*)((e|E)(\\\\\\\\+|-)?\\\\\\\\d+)?(?!'|\\\\\\\\w)\\\",\\\"name\\\":\\\"constant.numeric.systemverilog\\\"},{\\\"match\\\":\\\"'[01xXzZ]\\\",\\\"name\\\":\\\"constant.numeric.bit.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:\\\\\\\\d[\\\\\\\\d_\\\\\\\\.]*(?<!\\\\\\\\.)(?:e|E)(?:\\\\\\\\+|-)?\\\\\\\\d+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.exp.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:\\\\\\\\d[\\\\\\\\d_\\\\\\\\.]*(?!(?:[\\\\\\\\d\\\\\\\\.]|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:e|E|fs|ps|ns|us|ms|s))))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:\\\\\\\\d[\\\\\\\\d\\\\\\\\.]*[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:fs|ps|ns|us|ms|s))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.time.systemverilog\\\"},{\\\"include\\\":\\\"#compiler-directives\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:this|super|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z][A-Z0-9_]*)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.net.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)([A-Z0-9_]+)(?!\\\\\\\\.)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.parameter.uppercase.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"}]},\\\"enum-struct-union\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(enum|struct|union(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+tagged)?|class|interface[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+class)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?))?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(packed))?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(signed|unsigned))?(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:{|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#built-ins\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"}},\\\"end\\\":\\\"(?<=})[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n])\\\\\\\\\\\\\\\\[!-~]+(?=$|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]))(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[,;]\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]}},\\\"name\\\":\\\"meta.enum-struct-union.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#base-grammar\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"fixme-todo\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i:fixme)\\\",\\\"name\\\":\\\"invalid.broken.fixme.systemverilog\\\"},{\\\"match\\\":\\\"(?i:todo)\\\",\\\"name\\\":\\\"invalid.unimplemented.todo.systemverilog\\\"}]},\\\"function-task\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:\\\\\\\\b(virtual)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?(?:\\\\\\\\b(function|task)\\\\\\\\b)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+\\\\\\\\b(static|automatic)\\\\\\\\b)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.function.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.function.systemverilog\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.scope.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.scope.systemverilog\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#built-ins\\\"},{\\\"match\\\":\\\"[a-zA-Z_][a-zA-Z0-9_$]*\\\",\\\"name\\\":\\\"storage.type.user-defined.systemverilog\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#modifiers\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"entity.name.function.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?([a-zA-Z_][a-zA-Z0-9_$]*\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?(?:\\\\\\\\b(signed|unsigned)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)(?=\\\\\\\\(|;)\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"include\\\":\\\"#base-grammar\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"functions\\\":{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?!while|for|if|iff|else|case|casex|casez)([a-zA-Z_][a-zA-Z0-9_$]*)(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.systemverilog\\\"},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[a-zA-Z_][a-zA-Z0-9_$]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.identifier.systemverilog\\\"},{\\\"match\\\":\\\"(?<=^|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n])\\\\\\\\\\\\\\\\[!-~]+(?=$|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n])\\\",\\\"name\\\":\\\"string.regexp.identifier.systemverilog\\\"}]},\\\"imports\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.scope.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.scope.systemverilog\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(import|export)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*|\\\\\\\\*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(::)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|\\\\\\\\*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(,|;)\\\",\\\"name\\\":\\\"meta.import.systemverilog\\\"},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\\\\\b\\\"},{\\\"include\\\":\\\"#sv-control\\\"},{\\\"include\\\":\\\"#sv-control-begin\\\"},{\\\"include\\\":\\\"#sv-control-end\\\"},{\\\"include\\\":\\\"#sv-definition\\\"},{\\\"include\\\":\\\"#sv-cover-cross\\\"},{\\\"include\\\":\\\"#sv-std\\\"},{\\\"include\\\":\\\"#sv-option\\\"},{\\\"include\\\":\\\"#sv-local\\\"},{\\\"include\\\":\\\"#sv-rand\\\"}]},\\\"modifiers\\\":{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"module-binding\\\":{\\\"begin\\\":\\\"\\\\\\\\.([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.port.systemverilog\\\"}},\\\"end\\\":\\\"\\\\\\\\),?\\\",\\\"name\\\":\\\"meta.port.binding.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#storage-scope\\\"},{\\\"include\\\":\\\"#cast-operator\\\"},{\\\"include\\\":\\\"#system-tf\\\"},{\\\"match\\\":\\\"\\\\\\\\bvirtual\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"module-declaration\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b((?:macro)?module|interface|program|package|modport)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?:(static|automatic)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.module.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.module.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"include\\\":\\\"#imports\\\"},{\\\"include\\\":\\\"#base-grammar\\\"},{\\\"include\\\":\\\"#system-tf\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"module-no-parameters\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?:(bind|pullup|pulldown)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?:([a-zA-Z_][a-zA-Z0-9_$\\\\\\\\.]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?)?((?:\\\\\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[npc]mos|r?tran|r?tranif[01])\\\\\\\\b|[a-zA-Z_][a-zA-Z0-9_$]*))[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?!intersect|and|or|throughout|within)([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?=\\\\\\\\(|$)(?!;)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.module.systemverilog\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]}},\\\"end\\\":\\\"\\\\\\\\)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(;))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.module.instantiation.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.module.no_parameters.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#module-binding\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"match\\\":\\\"\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\(|$))\\\",\\\"name\\\":\\\"variable.other.module.systemverilog\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"module-parameters\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?:(bind)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\\\\\.]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?!intersect|and|or|throughout|within)(?=#[^#])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"}},\\\"end\\\":\\\"\\\\\\\\)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(;))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.module.instantiation.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.module.parameters.systemverilog\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\()\\\",\\\"name\\\":\\\"variable.other.module.systemverilog\\\"},{\\\"include\\\":\\\"#module-binding\\\"},{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"match\\\":\\\"\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*$)\\\",\\\"name\\\":\\\"variable.other.module.systemverilog\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\\\\\b|:=|:/|\\\\\\\\|->|\\\\\\\\|=>|->>|\\\\\\\\*>|#-#|#=#|&&&\\\",\\\"name\\\":\\\"keyword.operator.logical.systemverilog\\\"},{\\\"match\\\":\\\"@|##|#|->|<->\\\",\\\"name\\\":\\\"keyword.operator.channel.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\+=|-=|/=|\\\\\\\\*=|%=|&=|\\\\\\\\|=|\\\\\\\\^=|>>>=|>>=|<<<=|<<=|<=|=\\\",\\\"name\\\":\\\"keyword.operator.assignment.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.systemverilog\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\+|-|\\\\\\\\*\\\\\\\\*|\\\\\\\\*|/|%\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.systemverilog\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.systemverilog\\\"},{\\\"match\\\":\\\"<<<|<<|>>>|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.systemverilog\\\"},{\\\"match\\\":\\\"~&|~\\\\\\\\||~|\\\\\\\\^~|~\\\\\\\\^|&|\\\\\\\\||\\\\\\\\^|{|'{|}|:|\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.systemverilog\\\"},{\\\"match\\\":\\\"<=|<|>=|>|==\\\\\\\\?|!=\\\\\\\\?|===|!==|==|!=\\\",\\\"name\\\":\\\"keyword.operator.comparison.systemverilog\\\"}]},\\\"parameters\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(#)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.channel.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin\\\"}},\\\"end\\\":\\\"(\\\\\\\\))[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?=;|\\\\\\\\(|[a-zA-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-zA-Z_][a-zA-Z0-9_$]*\\\",\\\"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\\\\\\\\r\\\\\\\\n]*(?:\\\\\\\\b(output|input|inout|ref)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:\\\\\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?(?:([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:\\\\\\\\b(signed|unsigned)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?<!(?<!#)[:&|=+\\\\\\\\-*/%?><^!~(][ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?=,|;|=|\\\\\\\\)|/|$)\\\",\\\"name\\\":\\\"meta.port-net-parameter.declaration.systemverilog\\\"}]},\\\"selects\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.slice.brackets.begin\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.slice.brackets.end\\\"}},\\\"name\\\":\\\"meta.brackets.select.systemverilog\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$(?![a-z])\\\",\\\"name\\\":\\\"constant.language.systemverilog\\\"},{\\\"include\\\":\\\"#system-tf\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#cast-operator\\\"},{\\\"include\\\":\\\"#storage-scope\\\"},{\\\"match\\\":\\\"[a-zA-Z_][a-zA-Z0-9_$]*\\\",\\\"name\\\":\\\"variable.other.identifier.systemverilog\\\"}]},\\\"sequence\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(sequence)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.sequence.systemverilog\\\"},\\\"storage-scope\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.scope.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.scope.systemverilog\\\"}},\\\"match\\\":\\\"\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::)\\\",\\\"name\\\":\\\"meta.scope.systemverilog\\\"},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"`?\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.systemverilog\\\"}},\\\"end\\\":\\\"\\\\\\\"`?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.systemverilog\\\"}},\\\"name\\\":\\\"string.quoted.double.systemverilog\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[nt\\\\\\\\\\\\\\\\\\\\\\\"vfa]|[0-7]{3}|x[0-9a-fA-F]{2})\\\",\\\"name\\\":\\\"constant.character.escape.systemverilog\\\"},{\\\"match\\\":\\\"%(\\\\\\\\d+\\\\\\\\$)?['\\\\\\\\-+0 #]*[,;:_]?((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?(\\\\\\\\.((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?)?(hh|h|ll|l|j|z|t|L)?[xXhHdDoObBcClLvVmMpPsStTuUzZeEfFgG%]\\\",\\\"name\\\":\\\"constant.character.format.placeholder.systemverilog\\\"},{\\\"match\\\":\\\"%\\\",\\\"name\\\":\\\"invalid.illegal.placeholder.systemverilog\\\"},{\\\"include\\\":\\\"#fixme-todo\\\"}]},{\\\"begin\\\":\\\"(?<=include)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.systemverilog\\\"}},\\\"end\\\":\\\">\\\",\\\"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\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|if|iff|else|case|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|unique|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\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(begin|fork)\\\\\\\\b(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(:)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?\\\",\\\"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\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\\\\\b(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(:)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?\\\",\\\"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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(:))?[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(coverpoint|cross)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\",\\\"name\\\":\\\"meta.definition.systemverilog\\\"},\\\"sv-definition\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(primitive|package|constraint|interface|covergroup|program)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.definition.systemverilog\\\"},\\\"sv-local\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\\\\\b\\\"},\\\"sv-option\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.cover.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(option)\\\\\\\\.\\\"},\\\"sv-rand\\\":{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?:rand|randc)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.rand.systemverilog\\\"},\\\"sv-std\\\":{\\\"match\\\":\\\"\\\\\\\\b(std)\\\\\\\\b::\\\",\\\"name\\\":\\\"support.class.systemverilog\\\"},\\\"system-tf\\\":{\\\"match\\\":\\\"\\\\\\\\$[a-zA-Z0-9_$][a-zA-Z0-9_$]*\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.systemverilog\\\"},\\\"tables\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(table)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.table.systemverilog.begin\\\"}},\\\"end\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(endtable)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.table.systemverilog.end\\\"}},\\\"name\\\":\\\"meta.table.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b[01xXbBrRfFpPnN]\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.systemverilog\\\"},{\\\"match\\\":\\\"[-*?]\\\",\\\"name\\\":\\\"constant.language.systemverilog\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.systemverilog\\\"}},\\\"match\\\":\\\"\\\\\\\\(([01xX?]{2})\\\\\\\\)\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.definition.label.systemverilog\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"typedef\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?:(typedef)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)(?:([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+\\\\\\\\b(signed|unsigned)\\\\\\\\b)?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?))?(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[a-zA-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\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(typedef)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(enum|struct|union(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+tagged)?|class|interface[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+class)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?))?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(packed))?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(signed|unsigned))?(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:{|$))\\\",\\\"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\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n])\\\\\\\\\\\\\\\\[!-~]+(?=$|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]))(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[,;]\\\",\\\"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\\\"}\"))\n\nexport default [\nlang\n]\n"],"names":["systemVerilog","Object","freeze","JSON","parse"],"mappings":"gIAEeA,EAAA,CAFFC,MAAAA,CAAOC,MAAOC,CAAAA,IAAAA,CAAKC,MAAM","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"system-verilog-7d2d7268.cjs.js","sources":["../../../node_modules/shiki/dist/langs/system-verilog.mjs"],"sourcesContent":["const lang = 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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(:)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(assert|assume|cover|restrict)\\\\\\\\b\\\"},\\\"attributes\\\":{\\\"begin\\\":\\\"(?<!@[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]?)\\\\\\\\(\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.attribute.rounds.begin\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.attribute.rounds.end\\\"}},\\\"name\\\":\\\"meta.attribute.systemverilog\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.systemverilog\\\"}},\\\"match\\\":\\\"([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(=)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"}]},\\\"base-grammar\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#all-types\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.interface.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+[a-zA-Z_][a-zA-Z0-9_,= \\\\\\\\t\\\\\\\\n]*\\\"},{\\\"include\\\":\\\"#storage-scope\\\"}]},\\\"bind-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(bind)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\\\\\.]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.definition.systemverilog\\\"},\\\"built-ins\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(bit|logic|reg)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.vector.systemverilog\\\"},{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.atom.systemverilog\\\"},{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(shortreal|real|realtime)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.notint.systemverilog\\\"},{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.net.systemverilog\\\"},{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.built-in.systemverilog\\\"},{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.uvm.systemverilog\\\"}]},\\\"cast-operator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#built-ins\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"match\\\":\\\"[a-zA-Z_][a-zA-Z0-9_$]*\\\",\\\"name\\\":\\\"storage.type.user-defined.systemverilog\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.cast.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\d+|[a-zA-Z_][a-zA-Z0-9_$]*)(')(?=\\\\\\\\()\\\",\\\"name\\\":\\\"meta.cast.systemverilog\\\"},\\\"class-declaration\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(virtual[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?(class)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(static|automatic))?[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(extends|implements)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.class.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.class.systemverilog\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+\\\\\\\\b(extends|implements)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*,[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$:]*))*\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.userdefined.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.param.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(#)\\\\\\\\(\\\",\\\"name\\\":\\\"meta.typedef.class.systemverilog\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"include\\\":\\\"#base-grammar\\\"},{\\\"include\\\":\\\"#module-binding\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.systemverilog\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.systemverilog\\\"}},\\\"name\\\":\\\"comment.block.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fixme-todo\\\"}]},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.systemverilog\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fixme-todo\\\"}]}]},\\\"compiler-directives\\\":{\\\"name\\\":\\\"meta.preprocessor.systemverilog\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.regexp.systemverilog\\\"}},\\\"match\\\":\\\"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.regexp.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.preprocessor.systemverilog\\\"}},\\\"match\\\":\\\"(`)(ifdef|ifndef|elsif|define|undef|pragma)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.regexp.systemverilog\\\"}},\\\"match\\\":\\\"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(`)(protected)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.regexp.systemverilog\\\"}},\\\"end\\\":\\\"(`)(endprotected)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.regexp.systemverilog\\\"}},\\\"name\\\":\\\"meta.crypto.systemverilog\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.constant.preprocessor.systemverilog\\\"}},\\\"match\\\":\\\"(`)([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\b[1-9][0-9_]*)?'([sS]?[bB][ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[0-1xXzZ?][0-1_xXzZ?]*|[sS]?[oO][ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[0-7xXzZ?][0-7_xXzZ?]*|[sS]?[dD][ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[0-9xXzZ?][0-9_xXzZ?]*|[sS]?[hH][ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[0-9a-fA-FxXzZ?][0-9a-fA-F_xXzZ?]*)((e|E)(\\\\\\\\+|-)?\\\\\\\\d+)?(?!'|\\\\\\\\w)\\\",\\\"name\\\":\\\"constant.numeric.systemverilog\\\"},{\\\"match\\\":\\\"'[01xXzZ]\\\",\\\"name\\\":\\\"constant.numeric.bit.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:\\\\\\\\d[\\\\\\\\d_\\\\\\\\.]*(?<!\\\\\\\\.)(?:e|E)(?:\\\\\\\\+|-)?\\\\\\\\d+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.exp.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:\\\\\\\\d[\\\\\\\\d_\\\\\\\\.]*(?!(?:[\\\\\\\\d\\\\\\\\.]|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:e|E|fs|ps|ns|us|ms|s))))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:\\\\\\\\d[\\\\\\\\d\\\\\\\\.]*[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:fs|ps|ns|us|ms|s))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.time.systemverilog\\\"},{\\\"include\\\":\\\"#compiler-directives\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:this|super|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z][A-Z0-9_]*)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.net.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)([A-Z0-9_]+)(?!\\\\\\\\.)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.parameter.uppercase.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"}]},\\\"enum-struct-union\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(enum|struct|union(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+tagged)?|class|interface[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+class)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?))?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(packed))?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(signed|unsigned))?(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:{|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#built-ins\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"}},\\\"end\\\":\\\"(?<=})[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n])\\\\\\\\\\\\\\\\[!-~]+(?=$|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]))(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[,;]\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]}},\\\"name\\\":\\\"meta.enum-struct-union.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#base-grammar\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"fixme-todo\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i:fixme)\\\",\\\"name\\\":\\\"invalid.broken.fixme.systemverilog\\\"},{\\\"match\\\":\\\"(?i:todo)\\\",\\\"name\\\":\\\"invalid.unimplemented.todo.systemverilog\\\"}]},\\\"function-task\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:\\\\\\\\b(virtual)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?(?:\\\\\\\\b(function|task)\\\\\\\\b)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+\\\\\\\\b(static|automatic)\\\\\\\\b)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.function.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.function.systemverilog\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.scope.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.scope.systemverilog\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#built-ins\\\"},{\\\"match\\\":\\\"[a-zA-Z_][a-zA-Z0-9_$]*\\\",\\\"name\\\":\\\"storage.type.user-defined.systemverilog\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#modifiers\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"entity.name.function.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?([a-zA-Z_][a-zA-Z0-9_$]*\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?(?:\\\\\\\\b(signed|unsigned)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)(?=\\\\\\\\(|;)\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"include\\\":\\\"#base-grammar\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"functions\\\":{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?!while|for|if|iff|else|case|casex|casez)([a-zA-Z_][a-zA-Z0-9_$]*)(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.systemverilog\\\"},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[a-zA-Z_][a-zA-Z0-9_$]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.identifier.systemverilog\\\"},{\\\"match\\\":\\\"(?<=^|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n])\\\\\\\\\\\\\\\\[!-~]+(?=$|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n])\\\",\\\"name\\\":\\\"string.regexp.identifier.systemverilog\\\"}]},\\\"imports\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.scope.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.scope.systemverilog\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(import|export)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*|\\\\\\\\*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(::)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|\\\\\\\\*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(,|;)\\\",\\\"name\\\":\\\"meta.import.systemverilog\\\"},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\\\\\b\\\"},{\\\"include\\\":\\\"#sv-control\\\"},{\\\"include\\\":\\\"#sv-control-begin\\\"},{\\\"include\\\":\\\"#sv-control-end\\\"},{\\\"include\\\":\\\"#sv-definition\\\"},{\\\"include\\\":\\\"#sv-cover-cross\\\"},{\\\"include\\\":\\\"#sv-std\\\"},{\\\"include\\\":\\\"#sv-option\\\"},{\\\"include\\\":\\\"#sv-local\\\"},{\\\"include\\\":\\\"#sv-rand\\\"}]},\\\"modifiers\\\":{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"module-binding\\\":{\\\"begin\\\":\\\"\\\\\\\\.([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.port.systemverilog\\\"}},\\\"end\\\":\\\"\\\\\\\\),?\\\",\\\"name\\\":\\\"meta.port.binding.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#storage-scope\\\"},{\\\"include\\\":\\\"#cast-operator\\\"},{\\\"include\\\":\\\"#system-tf\\\"},{\\\"match\\\":\\\"\\\\\\\\bvirtual\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"module-declaration\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b((?:macro)?module|interface|program|package|modport)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?:(static|automatic)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.module.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.module.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"include\\\":\\\"#imports\\\"},{\\\"include\\\":\\\"#base-grammar\\\"},{\\\"include\\\":\\\"#system-tf\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"module-no-parameters\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?:(bind|pullup|pulldown)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?:([a-zA-Z_][a-zA-Z0-9_$\\\\\\\\.]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?)?((?:\\\\\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[npc]mos|r?tran|r?tranif[01])\\\\\\\\b|[a-zA-Z_][a-zA-Z0-9_$]*))[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?!intersect|and|or|throughout|within)([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?=\\\\\\\\(|$)(?!;)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.module.systemverilog\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]}},\\\"end\\\":\\\"\\\\\\\\)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(;))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.module.instantiation.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.module.no_parameters.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#module-binding\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"match\\\":\\\"\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\(|$))\\\",\\\"name\\\":\\\"variable.other.module.systemverilog\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"module-parameters\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?:(bind)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\\\\\.]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?!intersect|and|or|throughout|within)(?=#[^#])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.module.systemverilog\\\"}},\\\"end\\\":\\\"\\\\\\\\)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(;))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.module.instantiation.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.module.parameters.systemverilog\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\()\\\",\\\"name\\\":\\\"variable.other.module.systemverilog\\\"},{\\\"include\\\":\\\"#module-binding\\\"},{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"match\\\":\\\"\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*$)\\\",\\\"name\\\":\\\"variable.other.module.systemverilog\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\+=|-=|/=|\\\\\\\\*=|%=|&=|\\\\\\\\|=|\\\\\\\\^=|>>>=|>>=|<<<=|<<=|<=|=\\\",\\\"name\\\":\\\"keyword.operator.assignment.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.systemverilog\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\+|-|\\\\\\\\*\\\\\\\\*|\\\\\\\\*|/|%\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.systemverilog\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.systemverilog\\\"},{\\\"match\\\":\\\"<<<|<<|>>>|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.systemverilog\\\"},{\\\"match\\\":\\\"~&|~\\\\\\\\||~|\\\\\\\\^~|~\\\\\\\\^|&|\\\\\\\\||\\\\\\\\^|{|'{|}|:|\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.systemverilog\\\"},{\\\"match\\\":\\\"<=|<|>=|>|==\\\\\\\\?|!=\\\\\\\\?|===|!==|==|!=\\\",\\\"name\\\":\\\"keyword.operator.comparison.systemverilog\\\"},{\\\"match\\\":\\\"@|##|#|->|<->\\\",\\\"name\\\":\\\"keyword.operator.channel.systemverilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\\\\\b|:=|:/|\\\\\\\\|->|\\\\\\\\|=>|->>|\\\\\\\\*>|#-#|#=#|&&&\\\",\\\"name\\\":\\\"keyword.operator.logical.systemverilog\\\"}]},\\\"parameters\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(#)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.channel.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin\\\"}},\\\"end\\\":\\\"(\\\\\\\\))[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?=;|\\\\\\\\(|[a-zA-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-zA-Z_][a-zA-Z0-9_$]*\\\",\\\"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\\\\\\\\r\\\\\\\\n]*(?:\\\\\\\\b(output|input|inout|ref)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:\\\\\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?(?:([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:\\\\\\\\b(signed|unsigned)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?:(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)?(?<!(?<!#)[:&|=+\\\\\\\\-*/%?><^!~(][ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*)\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?=,|;|=|\\\\\\\\)|/|$)\\\",\\\"name\\\":\\\"meta.port-net-parameter.declaration.systemverilog\\\"}]},\\\"selects\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.slice.brackets.begin\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.slice.brackets.end\\\"}},\\\"name\\\":\\\"meta.brackets.select.systemverilog\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$(?![a-z])\\\",\\\"name\\\":\\\"constant.language.systemverilog\\\"},{\\\"include\\\":\\\"#system-tf\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#cast-operator\\\"},{\\\"include\\\":\\\"#storage-scope\\\"},{\\\"match\\\":\\\"[a-zA-Z_][a-zA-Z0-9_$]*\\\",\\\"name\\\":\\\"variable.other.identifier.systemverilog\\\"}]},\\\"sequence\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(sequence)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.sequence.systemverilog\\\"},\\\"storage-scope\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.scope.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.scope.systemverilog\\\"}},\\\"match\\\":\\\"\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::)\\\",\\\"name\\\":\\\"meta.scope.systemverilog\\\"},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"`?\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.systemverilog\\\"}},\\\"end\\\":\\\"\\\\\\\"`?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.systemverilog\\\"}},\\\"name\\\":\\\"string.quoted.double.systemverilog\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[nt\\\\\\\\\\\\\\\\\\\\\\\"vfa]|[0-7]{3}|x[0-9a-fA-F]{2})\\\",\\\"name\\\":\\\"constant.character.escape.systemverilog\\\"},{\\\"match\\\":\\\"%(\\\\\\\\d+\\\\\\\\$)?['\\\\\\\\-+0 #]*[,;:_]?((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?(\\\\\\\\.((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?)?(hh|h|ll|l|j|z|t|L)?[xXhHdDoObBcClLvVmMpPsStTuUzZeEfFgG%]\\\",\\\"name\\\":\\\"constant.character.format.placeholder.systemverilog\\\"},{\\\"match\\\":\\\"%\\\",\\\"name\\\":\\\"invalid.illegal.placeholder.systemverilog\\\"},{\\\"include\\\":\\\"#fixme-todo\\\"}]},{\\\"begin\\\":\\\"(?<=include)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.systemverilog\\\"}},\\\"end\\\":\\\">\\\",\\\"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\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|if|iff|else|case|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|unique|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\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(begin|fork)\\\\\\\\b(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(:)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?\\\",\\\"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\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\\\\\b(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(:)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?\\\",\\\"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-zA-Z_][a-zA-Z0-9_$]*)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(:))?[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(coverpoint|cross)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\",\\\"name\\\":\\\"meta.definition.systemverilog\\\"},\\\"sv-definition\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(primitive|package|constraint|interface|covergroup|program)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+\\\\\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.definition.systemverilog\\\"},\\\"sv-local\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\\\\\b\\\"},\\\"sv-option\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.cover.systemverilog\\\"}},\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(option)\\\\\\\\.\\\"},\\\"sv-rand\\\":{\\\"match\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?:rand|randc)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.rand.systemverilog\\\"},\\\"sv-std\\\":{\\\"match\\\":\\\"\\\\\\\\b(std)\\\\\\\\b::\\\",\\\"name\\\":\\\"support.class.systemverilog\\\"},\\\"system-tf\\\":{\\\"match\\\":\\\"\\\\\\\\$[a-zA-Z0-9_$][a-zA-Z0-9_$]*\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.systemverilog\\\"},\\\"tables\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(table)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.table.systemverilog.begin\\\"}},\\\"end\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(endtable)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.table.systemverilog.end\\\"}},\\\"name\\\":\\\"meta.table.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b[01xXbBrRfFpPnN]\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.systemverilog\\\"},{\\\"match\\\":\\\"[-*?]\\\",\\\"name\\\":\\\"constant.language.systemverilog\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.systemverilog\\\"}},\\\"match\\\":\\\"\\\\\\\\(([01xX?]{2})\\\\\\\\)\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.definition.label.systemverilog\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"typedef\\\":{\\\"begin\\\":\\\"[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(?:(typedef)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+)(?:([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+\\\\\\\\b(signed|unsigned)\\\\\\\\b)?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?))?(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[a-zA-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\\\\\\\\r\\\\\\\\n]*\\\\\\\\b(typedef)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(enum|struct|union(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+tagged)?|class|interface[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+class)(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?))?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(packed))?(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]+(signed|unsigned))?(?=[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(?:{|$))\\\",\\\"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\\\\\\\\r\\\\\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n])\\\\\\\\\\\\\\\\[!-~]+(?=$|[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]))(?:[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*(\\\\\\\\[[a-zA-Z0-9_:$\\\\\\\\.\\\\\\\\-+\\\\\\\\*/%`' \\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\[\\\\\\\\]()]*\\\\\\\\])?)[ \\\\\\\\t\\\\\\\\r\\\\\\\\n]*[,;]\\\",\\\"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\\\"}\"))\n\nexport default [\nlang\n]\n"],"names":["systemVerilog","Object","freeze","JSON","parse"],"mappings":"gIAEeA,EAAA,CAFFC,MAAAA,CAAOC,MAAOC,CAAAA,IAAAA,CAAKC,MAAM","x_google_ignoreList":[0]}