@kong-ui-public/documentation 0.3.42 → 0.4.0
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.
- package/dist/Tableau10-GLA_9iAD-BMurskAd.js +9 -0
- package/dist/arc-BSRpyMf3-C5dasNo_.js +86 -0
- package/dist/array-CqVTtuYm-fKLgkG2b.js +6 -0
- package/dist/astro-mwoSwJnq-CNh-xuM0.js +27 -0
- package/dist/blockDiagram-6b2b5046-D02VCbQO-CPmGy0xX.js +1224 -0
- package/dist/c-eDnjw9rh-eDnjw9rh.js +87 -0
- package/dist/c4Diagram-b947cdbb-gYcL5VzP-DIDY83e1.js +1578 -0
- package/dist/channel-DHTQ8Ynn-7OPGex2S.js +5 -0
- package/dist/classDiagram-35230388-JdSKLSZv-D2crBRy-.js +217 -0
- package/dist/classDiagram-v2-412acd34-DFFRHXE_-B6aCxlD1.js +200 -0
- package/dist/clone-p6h9XXNm-3JQ-HRC6.js +8 -0
- package/dist/coffee-CRlSxcc3-CY091_1T.js +108 -0
- package/dist/cpp-DizfY48B-CA38N4Mn.js +208 -0
- package/dist/createText-423428c9-LivTKT7b-BXNfjcdp.js +2964 -0
- package/dist/csharp-uGDiXTZn-uGDiXTZn.js +762 -0
- package/dist/css-CAzixsid-CEpuX1HY.js +511 -0
- package/dist/csv-D4BoHddH-D4BoHddH.js +7 -0
- package/dist/diff-Bo5iyMQ2-Bo5iyMQ2.js +7 -0
- package/dist/docker-B10O2enb-B10O2enb.js +7 -0
- package/dist/documentation.es.js +5 -3130
- package/dist/documentation.umd.js +10152 -50
- package/dist/edges-d417c7a0-C1ggiwWz-Aj0OUf7e.js +1082 -0
- package/dist/erDiagram-0ea73325-mz0Z_-DA-Dr01LsTB.js +924 -0
- package/dist/flowDb-d35e309a-CPyxEMIt-lofeyUuw.js +1126 -0
- package/dist/flowDiagram-d949d7c1-DqCa0HNN-BK5wNO9Z.js +782 -0
- package/dist/flowDiagram-v2-49332944-UMosz1sZ-BG39AuNP.js +17 -0
- package/dist/flowchart-elk-definition-27cc417a-D2UKpS6N-r2p34307.js +48387 -0
- package/dist/ganttDiagram-5c869e3b-CVBHw4pG-CaG9QXQM.js +2490 -0
- package/dist/git-commit-CWf81VOF-DtOZSoIU.js +9 -0
- package/dist/git-rebase-sR-yVH_J-D5M2oE9O.js +9 -0
- package/dist/gitGraphDiagram-b9d81de9-BGm3fU0n-CbCpf-4j.js +1262 -0
- package/dist/go-BCCWZWY1-BCCWZWY1.js +7 -0
- package/dist/graph-4FyIWFHN-774TpNLL.js +870 -0
- package/dist/graphql-CT32SSoq-1pBWfpcR.js +18 -0
- package/dist/haml-8RvrfhLO-Bbc4xoLP.js +19 -0
- package/dist/handlebars-Cr5ro0bH-CLcCNLtV.js +15 -0
- package/dist/haskell-BfFu8DD8-BmkPJdLL.js +565 -0
- package/dist/html-BZB5lEhh-B74zAnWx.js +84 -0
- package/dist/html-derivative-0y7sV5Qc-D8-muTWn.js +9 -0
- package/dist/index-8fae9850-_CN7MNjP-Cq-s0PmS.js +373 -0
- package/dist/index-B-5DuDrq.js +29996 -0
- package/dist/infoDiagram-db7b18fc-V446j9uR-GSa8bniv.js +319 -0
- package/dist/ini-BsUFIxsI-BsUFIxsI.js +7 -0
- package/dist/init-DjUOC4st-C8Nwz6AJ.js +16 -0
- package/dist/java-Bk2JzfKB-Bk2JzfKB.js +74 -0
- package/dist/javascript-DqVBMyXe-DqVBMyXe.js +705 -0
- package/dist/journeyDiagram-d5636530-CFiu7dnV-DJMu6A22.js +803 -0
- package/dist/json-B12k4-6m-B12k4-6m.js +31 -0
- package/dist/json5-CvqQZK9I-CvqQZK9I.js +23 -0
- package/dist/jsonc-v2qGKRJY-v2qGKRJY.js +31 -0
- package/dist/jsonl-izxnMeZX-izxnMeZX.js +31 -0
- package/dist/jsx-aDp7j9_Z-aDp7j9_Z.js +705 -0
- package/dist/kotlin-NOMOielb-NOMOielb.js +7 -0
- package/dist/latex-Bw_ghldO-BlUAi6pB.js +339 -0
- package/dist/layout-2-aEcfuw-BqqWy5wB.js +1524 -0
- package/dist/less-CW2GmQHL-CW2GmQHL.js +165 -0
- package/dist/line-nVq5kEiy-DtZd3PHZ.js +34 -0
- package/dist/linear-Bz4oRFvQ-C869GXbm.js +447 -0
- package/dist/liquid-DJ2rh7oT-FwZwa67Y.js +28 -0
- package/dist/lua-5TZ-G8Be-CogscVHC.js +9 -0
- package/dist/make-whncTQWE-whncTQWE.js +7 -0
- package/dist/markdown-DYKdIx5--DYKdIx5-.js +135 -0
- package/dist/material-theme-lighter-BRE1Bis3-BRE1Bis3.js +769 -0
- package/dist/material-theme-palenight-Dhz61Tee-Dhz61Tee.js +769 -0
- package/dist/mdc-D0DPLwil-BfE3hy8_.js +88 -0
- package/dist/mdx-CKDMxEaL-CKDMxEaL.js +7 -0
- package/dist/mermaid-BxNM-z-u-BxNM-z-u.js +7 -0
- package/dist/mindmap-definition-377f8f1f-C2vFYDMs-B71SGbvx.js +19078 -0
- package/dist/nginx-C082G13W-vryM9k1W.js +9 -0
- package/dist/objective-c-BVtzkNiv-BVtzkNiv.js +115 -0
- package/dist/onig-BonMD2gC-BonMD2gC.js +4 -0
- package/dist/ordinal-MUacOSdK-B1MUT0BL.js +65 -0
- package/dist/pascal-CrvtytWS-CrvtytWS.js +7 -0
- package/dist/path-Crsf9Nsj-SiSjwXsf.js +91 -0
- package/dist/perl-D29UPKP6-Dez6-HRy.js +17 -0
- package/dist/php-D7Tl-iS7-BtPFrDEt.js +789 -0
- package/dist/pieDiagram-b0208e96-DhA_SoTh-CfDd9YdA.js +501 -0
- package/dist/plsql-8SPzZKaa-8SPzZKaa.js +7 -0
- package/dist/postcss-Cz2vjx_4-Cz2vjx_4.js +7 -0
- package/dist/powershell-B0buHCuS-B0buHCuS.js +7 -0
- package/dist/proto-6YaU_lta-6YaU_lta.js +7 -0
- package/dist/pug-DbFO7359-duYD8LVa.js +21 -0
- package/dist/python-BQXev0_W-BQXev0_W.js +524 -0
- package/dist/quadrantDiagram-0332be45-C8q96Ohm-DMblaqnx.js +903 -0
- package/dist/r-DU7Q70f1-DU7Q70f1.js +7 -0
- package/dist/reg-DoGLEyFr-DoGLEyFr.js +7 -0
- package/dist/requirementDiagram-bf7890df-D30zCZjB-B_JBC9RM.js +767 -0
- package/dist/rst-Bm1i8IkK-C9EaDq6g.js +26 -0
- package/dist/ruby-CZZKXaz8-BxaDEkRP.js +102 -0
- package/dist/rust-CIl6NRUt-CIl6NRUt.js +7 -0
- package/dist/sankeyDiagram-0acdec17-B4vNjMaS-Bauvtonp.js +816 -0
- package/dist/sass-LqXmC1Fh-LqXmC1Fh.js +8 -0
- package/dist/scss-DjxgF7f7-DGTzny6p.js +98 -0
- package/dist/sequenceDiagram-c18d009d-BniqGSPK-DuYYUmiZ.js +2201 -0
- package/dist/shellscript-CUUTQKn5-CUUTQKn5.js +7 -0
- package/dist/shellsession-BIPXtZci-D6avbCwN.js +9 -0
- package/dist/splunk-C0K00wNV-C0K00wNV.js +7 -0
- package/dist/sql-DkzN59UV-DkzN59UV.js +27 -0
- package/dist/ssh-config-BbWAW6SY-BbWAW6SY.js +7 -0
- package/dist/stateDiagram-43596fc0-F0V9suMd-L2Ywe-J_.js +266 -0
- package/dist/stateDiagram-v2-2ead4f9c-DUgJH8tF-BVo1q2i1.js +184 -0
- package/dist/style.css +1 -1
- package/dist/styles-6860f46c-Dflmq0ac-BRNSwis6.js +1089 -0
- package/dist/styles-7383a064-Dg7mXkpq-C4bItohl.js +430 -0
- package/dist/styles-b2c874b6-HpcOhE4Y-Bj0upXzO.js +960 -0
- package/dist/stylus-CAHdVuhm-CAHdVuhm.js +21 -0
- package/dist/svelte-DAxjO8Sh-D0e501jC.js +29 -0
- package/dist/svgDrawCommon-0ee1b4e9-CNkCfzsJ-Bz_doYLk.js +64 -0
- package/dist/swift-x2DVyVjN-Bz5PC9YM.js +550 -0
- package/dist/timeline-definition-d977decf-Cl38e_0g-D_Dlqa-R.js +794 -0
- package/dist/toml-Dbtbfmwk-Dbtbfmwk.js +75 -0
- package/dist/tsx-BmwsDeeh-BmwsDeeh.js +705 -0
- package/dist/twig-B_Gr-ODl-Cl9Q0GWo.js +58 -0
- package/dist/types/components/DocumentationContent.vue.d.ts +8 -1
- package/dist/types/components/DocumentationContent.vue.d.ts.map +1 -1
- package/dist/types/components/DocumentationDisplay.vue.d.ts +5 -1
- package/dist/types/components/DocumentationDisplay.vue.d.ts.map +1 -1
- package/dist/types/components/ProductDocumentModal.vue.d.ts +1 -1
- package/dist/types/components/ProductDocumentModal.vue.d.ts.map +1 -1
- package/dist/types/composables/useI18n.d.ts +4 -0
- package/dist/types/composables/useI18n.d.ts.map +1 -1
- package/dist/typescript-AEg-ehu7-AEg-ehu7.js +672 -0
- package/dist/v-BuvBsUKm-BuvBsUKm.js +7 -0
- package/dist/vb-cqjo5dul-cqjo5dul.js +7 -0
- package/dist/viml-h3ATW6He-h3ATW6He.js +7 -0
- package/dist/vue-Dz-azHaT-B9qBHMZi.js +71 -0
- package/dist/vue-html-DIGKAAs4-BeHSIJcx.js +11 -0
- package/dist/wasm-xOGcJ9Ts-xOGcJ9Ts.js +7 -0
- package/dist/wgsl-hGLOfCya-hGLOfCya.js +7 -0
- package/dist/xml-CfRpfi_B-BH3JRQfc.js +9 -0
- package/dist/xsl-BAqhSCYL-BTKPZRNQ.js +9 -0
- package/dist/xychartDiagram-e50adddc-JdLmRUgg-HmDalTeo.js +1282 -0
- package/dist/yaml-PGla5xPP-HJurM_FJ.js +206 -0
- package/package.json +13 -13
- package/dist/prism-bash.min-DDo5CyRs-DihCfXgx.js +0 -7
- package/dist/prism-css.min-BrrzZC7b-BrrzZC7b.js +0 -7
- package/dist/prism-docker.min-DnIEokC3-D0v8IWN_.js +0 -22
- package/dist/prism-go.min-C7UmK6TW-C7UmK6TW.js +0 -1
- package/dist/prism-http.min-CsU3-jB8-CQ8PCDXl.js +0 -23
- package/dist/prism-javascript.min-CEqHqgbm-CEqHqgbm.js +0 -8
- package/dist/prism-jq.min-Q555vXZm-Q555vXZm.js +0 -8
- package/dist/prism-json.min-B1GJqK1k-B1GJqK1k.js +0 -1
- package/dist/prism-log.min-SDopTpKN-SDopTpKN.js +0 -1
- package/dist/prism-lua.min-DwRnUVfS-DwRnUVfS.js +0 -1
- package/dist/prism-makefile.min-DyutknhE-DyutknhE.js +0 -1
- package/dist/prism-markdown.min-B7US-xc7-DB9aF_ZA.js +0 -63
- package/dist/prism-python.min-BIfpAh5K-BIfpAh5K.js +0 -1
- package/dist/prism-regex.min-f8DNqi8X-f8DNqi8X.js +0 -4
- package/dist/prism-rest.min-B6veHRJF-B6veHRJF.js +0 -1
- package/dist/prism-rust.min-Cb-Mi-h0-Cb-Mi-h0.js +0 -9
- package/dist/prism-scss.min-B0csyGJo-B0csyGJo.js +0 -1
- package/dist/prism-sql.min-BHXzX-c_-BHXzX-c_.js +0 -1
- package/dist/prism-typescript.min-oSVeWCAd-oSVeWCAd.js +0 -5
- package/dist/prism-xml-doc.min-yj0YzRGe-KgTQx-dc.js +0 -7
- package/dist/prism-yaml.min-CTetcdKA-C1YzP_OY.js +0 -28
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const e = Object.freeze({ displayName: "Go", name: "go", patterns: [{ include: "#statements" }], repository: { after_control_variables: { captures: { 1: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "(?:\\w+)", name: "variable.other.go" }] } }, comment: "After control variables, to not highlight as a struct/interface (before formatting with gofmt)", match: "(?:(?<=\\brange\\b|\\bswitch\\b|\\;|\\bif\\b|\\bfor\\b|\\<|\\>|\\<\\=|\\>\\=|\\=\\=|\\!\\=|\\w(?:\\+|/|\\-|\\*|\\%)|\\w(?:\\+|/|\\-|\\*|\\%)\\=|\\|\\||\\&\\&)(?:\\s*)([[:alnum:]\\-\\_\\!\\.\\[\\]\\<\\>\\=\\*/\\+\\%\\:]+)(?:\\s*)(?=\\{))" }, brackets: { patterns: [{ begin: "\\{", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.curly.go" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ include: "$self" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "$self" }] }, { begin: "\\[", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.square.go" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.go" } }, patterns: [{ include: "$self" }] }] }, built_in_functions: { comment: "Built-in functions", patterns: [{ match: "\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\b(?=\\()", name: "entity.name.function.support.builtin.go" }, { begin: "(?:(\\bnew\\b)(\\())", beginCaptures: { 1: { name: "entity.name.function.support.builtin.go" }, 2: { name: "punctuation.definition.begin.bracket.round.go" } }, comment: "new keyword", end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#functions" }, { include: "#struct_variables_types" }, { include: "#type-declarations" }, { include: "#generic_types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }, { include: "$self" }] }, { captures: { 1: { name: "entity.name.function.support.builtin.go" }, 2: { name: "punctuation.definition.begin.bracket.round.go" }, 3: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "\\w+", name: "entity.name.type.go" }] }, 4: { patterns: [{ include: "$self" }] }, 5: { name: "punctuation.definition.end.bracket.round.go" } }, comment: "make keyword", match: "(?:(\\bmake\\b)(?:(\\()((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?:[\\w\\.\\*\\[\\]\\{\\}]+)?(?:\\[(?:[^\\]]+)?\\])?(?:[\\w\\.\\*\\[\\]\\{\\}]+)?)?((?:\\,\\s*(?:[\\w\\.\\(\\)]+)?)+)?(\\))))" }] }, comments: { patterns: [{ begin: "(\\/\\*)", beginCaptures: { 1: { name: "punctuation.definition.comment.go" } }, end: "(\\*\\/)", endCaptures: { 1: { name: "punctuation.definition.comment.go" } }, name: "comment.block.go" }, { begin: "(\\/\\/)", beginCaptures: { 1: { name: "punctuation.definition.comment.go" } }, end: "(?:\\n|$)", name: "comment.line.double-slash.go" }] }, delimiters: { patterns: [{ match: "\\,", name: "punctuation.other.comma.go" }, { match: "\\.(?!\\.\\.)", name: "punctuation.other.period.go" }, { match: ":(?!=)", name: "punctuation.other.colon.go" }] }, double_parentheses_types: { captures: { 1: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\(", name: "punctuation.definition.begin.bracket.round.go" }, { match: "\\)", name: "punctuation.definition.end.bracket.round.go" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "double parentheses types", match: "(?:(\\((?:[\\w\\.\\[\\]\\*\\&]+)\\))(?=\\())" }, function_declaration: { begin: "(?:^(\\bfunc\\b)(?:\\s*(\\([^\\)]+\\)\\s*)?(?:(\\w+)(?=\\(|\\[))?))", beginCaptures: { 1: { name: "keyword.function.go" }, 2: { patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ captures: { 1: { name: "variable.parameter.go" }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, match: "(?:(\\w+(?:\\s+))?((?:[\\w\\.\\*]+)(?:\\[(?:(?:(?:[\\w\\.\\*]+)(?:\\,\\s+)?)+)?\\])?))" }, { include: "$self" }] }] }, 3: { patterns: [{ match: "\\d\\w*", name: "invalid.illegal.identifier.go" }, { match: "\\w+", name: "entity.name.function.go" }] }, patterns: [{ include: "#type-declarations" }] }, comment: "Function declarations", end: "(?:(?<=\\))\\s*((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?!(?:[\\[\\]\\*]+)?(?:\\bstruct\\b|\\binterface\\b))[\\w\\.\\-\\*\\[\\]]+)?\\s*(?=\\{))", endCaptures: { 1: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }] }, { begin: "(?:([\\w\\.\\*]+)?(\\[))", beginCaptures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] }, 2: { name: "punctuation.definition.begin.bracket.square.go" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.go" } }, patterns: [{ include: "#generic_param_types" }] }, { captures: { 1: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "single function as a type returned type(s) declaration", match: "(?:(?<=\\))\\s+((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?[\\w\\*\\.\\[\\]\\<\\>\\-]+(?:\\s*)(?:\\/(?:\\/|\\*).*)?)$)" }, { include: "$self" }] }, function_param_types: { comment: "function parameter variables and types", patterns: [{ include: "#struct_variables_types" }, { include: "#type-declarations-without-brackets" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.parameter.go" }] } }, comment: "struct type declaration", match: "((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)\\s+(?=(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\[\\]\\*]+)?\\bstruct\\b\\s*\\{)" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.parameter.go" }] } }, comment: "multiple parameters one type -with multilines", match: "(?:(?:(?<=\\()|^\\s*)((?:(?:\\b\\w+\\,\\s*)+)(?:/(?:/|\\*).*)?)$)" }, { captures: { 1: { patterns: [{ include: "#delimiters" }, { match: "\\w+", name: "variable.parameter.go" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "multiple params and types | multiple params one type | one param one type", match: "(?:((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)(?:\\s+)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:(?:(?:[\\w\\[\\]\\.\\*]+)?(?:(?:\\bfunc\\b\\((?:[^\\)]+)?\\))(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:\\s*))+(?:(?:(?:[\\w\\*\\.\\[\\]]+)|(?:\\((?:[^\\)]+)?\\))))?)|(?:(?:[\\[\\]\\*]+)?[\\w\\*\\.]+(?:\\[(?:[^\\]]+)\\])?(?:[\\w\\.\\*]+)?)+)))" }, { include: "#parameter-variable-types" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "other types", match: "([\\w\\.]+)" }, { include: "$self" }] }, functions: { begin: "(?:(\\bfunc\\b)(?=\\())", beginCaptures: { 1: { name: "keyword.function.go" } }, comment: "Functions", end: "(?:(?<=\\))(\\s*(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?((?:(?:\\s*(?:(?:[\\[\\]\\*]+)?[\\w\\.\\*]+)?(?:(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\])|(?:\\((?:[^\\)]+)?\\)))?(?:[\\w\\.\\*]+)?)(?:\\s*)(?=\\{))|(?:\\s*(?:(?:(?:[\\[\\]\\*]+)?(?!\\bfunc\\b)(?:[\\w\\.\\*]+)(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\])?(?:[\\w\\.\\*]+)?)|(?:\\((?:[^\\)]+)?\\)))))?)", endCaptures: { 1: { patterns: [{ include: "#type-declarations" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, patterns: [{ include: "#parameter-variable-types" }] }, functions_inline: { captures: { 1: { name: "keyword.function.go" }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }, { include: "$self" }] }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\{", name: "punctuation.definition.begin.bracket.curly.go" }, { match: "\\}", name: "punctuation.definition.end.bracket.curly.go" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "functions in-line with multi return types", match: "(?:(\\bfunc\\b)((?:\\((?:[^/]*)\\))(?:\\s+)(?:\\((?:[^/]*)\\)))(?:\\s+)(?=\\{))" }, generic_param_types: { comment: "generic parameter variables and types", patterns: [{ include: "#type-declarations-without-brackets" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.parameter.go" }] } }, comment: "multiple parameters one type -with multilines", match: "(?:(?:(?<=\\()|^\\s*)((?:(?:\\b\\w+\\,\\s*)+)(?:/(?:/|\\*).*)?)$)" }, { captures: { 1: { patterns: [{ include: "#delimiters" }, { match: "\\w+", name: "variable.parameter.go" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] }, 3: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "multiple params and types | multiple types one param", match: "(?:((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)(?:\\s+)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:(?:(?:[\\w\\[\\]\\.\\*]+)?(?:(?:\\bfunc\\b\\((?:[^\\)]+)?\\))(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:\\s*))+(?:(?:(?:[\\w\\*\\.]+)|(?:\\((?:[^\\)]+)?\\))))?)|(?:(?:(?:[\\w\\*\\.\\~]+)|(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\]))(?:[\\w\\.\\*]+)?)+)))" }, { include: "#parameter-variable-types" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "other types", match: "(?:\\b([\\w\\.]+))" }, { include: "$self" }] }, generic_types: { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] }, 2: { patterns: [{ include: "#parameter-variable-types" }] } }, comment: "Generic support for all types", match: "(?:([\\w\\.\\*]+)(\\[(?:[^\\]]+)?\\]))" }, "group-functions": { comment: "all statements related to functions", patterns: [{ include: "#function_declaration" }, { include: "#functions_inline" }, { include: "#functions" }, { include: "#built_in_functions" }, { include: "#support_functions" }] }, "group-types": { comment: "all statements related to types", patterns: [{ include: "#other_struct_interface_expressions" }, { include: "#type_assertion_inline" }, { include: "#struct_variables_types" }, { include: "#interface_variables_types" }, { include: "#single_type" }, { include: "#multi_types" }, { include: "#struct_interface_declaration" }, { include: "#double_parentheses_types" }, { include: "#switch_types" }, { include: "#type-declarations" }] }, "group-variables": { comment: "all statements related to variables", patterns: [{ include: "#var_const_assignment" }, { include: "#variable_assignment" }, { include: "#label_loop_variables" }, { include: "#slice_index_variables" }, { include: "#property_variables" }, { include: "#switch_select_case_variables" }, { include: "#other_variables" }] }, import: { comment: "import", patterns: [{ begin: "\\b(import)\\s+", beginCaptures: { 1: { name: "keyword.control.import.go" } }, comment: "import", end: "(?!\\G)", patterns: [{ include: "#imports" }] }] }, imports: { comment: "import package(s)", patterns: [{ captures: { 1: { patterns: [{ include: "#delimiters" }, { match: "(?:\\w+)", name: "variable.other.import.go" }] }, 2: { name: "string.quoted.double.go" }, 3: { name: "punctuation.definition.string.begin.go" }, 4: { name: "entity.name.import.go" }, 5: { name: "punctuation.definition.string.end.go" } }, match: '(\\s*[\\w\\.]+)?\\s*((")([^"]*)("))' }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.imports.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.imports.end.bracket.round.go" } }, patterns: [{ include: "#comments" }, { include: "#imports" }] }, { include: "$self" }] }, interface_variables_types: { patterns: [{ begin: "(\\binterface\\b)\\s*(\\{)", beginCaptures: { 1: { name: "keyword.interface.go" }, 2: { name: "punctuation.definition.begin.bracket.curly.go" } }, comment: "interface variable types", end: "\\}", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }, { include: "$self" }] }, { include: "#support_functions" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { include: "#generic_types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "single declaration | with or declarations", match: "((?:\\s+\\|)?(?:[\\w\\.\\[\\]\\*]+)(?:\\s+\\|)?)" }, { include: "$self" }] }] }, keywords: { patterns: [{ comment: "Flow control keywords", match: "\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\b", name: "keyword.control.go" }, { match: "\\bchan\\b", name: "keyword.channel.go" }, { match: "\\bconst\\b", name: "keyword.const.go" }, { match: "\\bvar\\b", name: "keyword.var.go" }, { match: "\\bfunc\\b", name: "keyword.function.go" }, { match: "\\binterface\\b", name: "keyword.interface.go" }, { match: "\\bmap\\b", name: "keyword.map.go" }, { match: "\\bstruct\\b", name: "keyword.struct.go" }, { match: "\\bimport\\b", name: "keyword.control.import.go" }, { match: "\\btype\\b", name: "keyword.type.go" }] }, label_loop_variables: { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.label.go" }] } }, comment: "labeled loop variable name", match: "((?:^\\s*\\w+:\\s*$)|(?:^\\s*(?:\\bbreak\\b|\\bgoto\\b|\\bcontinue\\b)\\s+\\w+(?:\\s*/(?:/|\\*)\\s*.*)?$))" }, language_constants: { comment: "Language constants", match: "\\b(true|false|nil|iota)\\b", name: "constant.language.go" }, map_types: { begin: "(?:(\\bmap\\b)(\\[))", beginCaptures: { 1: { name: "keyword.map.go" }, 2: { name: "punctuation.definition.begin.bracket.square.go" } }, comment: "map types", end: "(?:(\\])((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?!(?:[\\[\\]\\*]+)?\\b(?:func|struct|map)\\b)[\\w\\.\\[\\]\\*]+)?)", endCaptures: { 1: { name: "punctuation.definition.end.bracket.square.go" }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#generic_types" }, { include: "#functions" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\{", name: "punctuation.definition.begin.bracket.curly.go" }, { match: "\\}", name: "punctuation.definition.end.bracket.curly.go" }, { match: "\\(", name: "punctuation.definition.begin.bracket.round.go" }, { match: "\\)", name: "punctuation.definition.end.bracket.round.go" }, { match: "\\w+", name: "entity.name.type.go" }] }, multi_types: { begin: "(\\btype\\b)\\s*(\\()", beginCaptures: { 1: { name: "keyword.type.go" }, 2: { name: "punctuation.definition.begin.bracket.round.go" } }, comment: "multi type declaration", end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#struct_variables_types" }, { include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] }, numeric_literals: { captures: { 0: { patterns: [{ begin: "(?=.)", end: "(?:\\n|$)", patterns: [{ captures: { 1: { name: "constant.numeric.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 2: { name: "punctuation.separator.constant.numeric.go" }, 3: { name: "constant.numeric.decimal.point.go" }, 4: { name: "constant.numeric.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 5: { name: "punctuation.separator.constant.numeric.go" }, 6: { name: "keyword.other.unit.exponent.decimal.go" }, 7: { name: "keyword.operator.plus.exponent.decimal.go" }, 8: { name: "keyword.operator.minus.exponent.decimal.go" }, 9: { name: "constant.numeric.exponent.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 10: { name: "keyword.other.unit.imaginary.go" }, 11: { name: "constant.numeric.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 12: { name: "punctuation.separator.constant.numeric.go" }, 13: { name: "keyword.other.unit.exponent.decimal.go" }, 14: { name: "keyword.operator.plus.exponent.decimal.go" }, 15: { name: "keyword.operator.minus.exponent.decimal.go" }, 16: { name: "constant.numeric.exponent.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 17: { name: "keyword.other.unit.imaginary.go" }, 18: { name: "constant.numeric.decimal.point.go" }, 19: { name: "constant.numeric.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 20: { name: "punctuation.separator.constant.numeric.go" }, 21: { name: "keyword.other.unit.exponent.decimal.go" }, 22: { name: "keyword.operator.plus.exponent.decimal.go" }, 23: { name: "keyword.operator.minus.exponent.decimal.go" }, 24: { name: "constant.numeric.exponent.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 25: { name: "keyword.other.unit.imaginary.go" }, 26: { name: "keyword.other.unit.hexadecimal.go" }, 27: { name: "constant.numeric.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 28: { name: "punctuation.separator.constant.numeric.go" }, 29: { name: "constant.numeric.hexadecimal.go" }, 30: { name: "constant.numeric.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 31: { name: "punctuation.separator.constant.numeric.go" }, 32: { name: "keyword.other.unit.exponent.hexadecimal.go" }, 33: { name: "keyword.operator.plus.exponent.hexadecimal.go" }, 34: { name: "keyword.operator.minus.exponent.hexadecimal.go" }, 35: { name: "constant.numeric.exponent.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 36: { name: "keyword.other.unit.imaginary.go" }, 37: { name: "keyword.other.unit.hexadecimal.go" }, 38: { name: "constant.numeric.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 39: { name: "punctuation.separator.constant.numeric.go" }, 40: { name: "keyword.other.unit.exponent.hexadecimal.go" }, 41: { name: "keyword.operator.plus.exponent.hexadecimal.go" }, 42: { name: "keyword.operator.minus.exponent.hexadecimal.go" }, 43: { name: "constant.numeric.exponent.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 44: { name: "keyword.other.unit.imaginary.go" }, 45: { name: "keyword.other.unit.hexadecimal.go" }, 46: { name: "constant.numeric.hexadecimal.go" }, 47: { name: "constant.numeric.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 48: { name: "punctuation.separator.constant.numeric.go" }, 49: { name: "keyword.other.unit.exponent.hexadecimal.go" }, 50: { name: "keyword.operator.plus.exponent.hexadecimal.go" }, 51: { name: "keyword.operator.minus.exponent.hexadecimal.go" }, 52: { name: "constant.numeric.exponent.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 53: { name: "keyword.other.unit.imaginary.go" } }, match: "(?:(?:(?:(?:(?:\\G(?=[0-9.])(?!0[xXbBoO])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?:(?<!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\w))?(?:\\n|$)|\\G(?=[0-9.])(?!0[xXbBoO])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))|\\G((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?:(?<!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\w))?(?:\\n|$))|(\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?<!_)([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))|(\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))|(\\G0[xX])((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))" }, { captures: { 1: { name: "constant.numeric.decimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 2: { name: "punctuation.separator.constant.numeric.go" }, 3: { name: "keyword.other.unit.imaginary.go" }, 4: { name: "keyword.other.unit.binary.go" }, 5: { name: "constant.numeric.binary.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 6: { name: "punctuation.separator.constant.numeric.go" }, 7: { name: "keyword.other.unit.imaginary.go" }, 8: { name: "keyword.other.unit.octal.go" }, 9: { name: "constant.numeric.octal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 10: { name: "punctuation.separator.constant.numeric.go" }, 11: { name: "keyword.other.unit.imaginary.go" }, 12: { name: "keyword.other.unit.hexadecimal.go" }, 13: { name: "constant.numeric.hexadecimal.go", patterns: [{ match: "(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.go" }] }, 14: { name: "punctuation.separator.constant.numeric.go" }, 15: { name: "keyword.other.unit.imaginary.go" } }, match: "(?:(?:(?:\\G(?=[0-9.])(?!0[xXbBoO])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$)|(\\G0[bB])_?([01](?:[01]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$))|(\\G0[oO]?)_?((?:[0-7]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))+)(i(?!\\w))?(?:\\n|$))|(\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$))" }, { match: "(?:(?:[0-9a-zA-Z_\\.])|(?<=[eEpP])[+-])+", name: "invalid.illegal.constant.numeric.go" }] }] } }, match: "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.])|(?<=[eEpP])[+-])*" }, operators: { comment: "Note that the order here is very important!", patterns: [{ match: "((?:\\*|&)+)(?:(?!\\d)(?=(?:[\\w\\[\\]])|(?:\\<\\-)))", name: "keyword.operator.address.go" }, { match: "<\\-", name: "keyword.operator.channel.go" }, { match: "\\-\\-", name: "keyword.operator.decrement.go" }, { match: "\\+\\+", name: "keyword.operator.increment.go" }, { match: "(==|!=|<=|>=|<(?!<)|>(?!>))", name: "keyword.operator.comparison.go" }, { match: "(&&|\\|\\||!)", name: "keyword.operator.logical.go" }, { match: "(=|\\+=|\\-=|\\|=|\\^=|\\*=|/=|:=|%=|<<=|>>=|&\\^=|&=)", name: "keyword.operator.assignment.go" }, { match: "(\\+|\\-|\\*|/|%)", name: "keyword.operator.arithmetic.go" }, { match: "(&(?!\\^)|\\||\\^|&\\^|<<|>>|\\~)", name: "keyword.operator.arithmetic.bitwise.go" }, { match: "\\.\\.\\.", name: "keyword.operator.ellipsis.go" }] }, other_struct_interface_expressions: { comment: "struct and interface expression in-line (before curly bracket)", patterns: [{ comment: "after control variables must be added exactly here, do not move it! (changing may not affect tests, so be careful!)", include: "#after_control_variables" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] }, 2: { patterns: [{ begin: "\\[", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.square.go" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.go" } }, patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }, { include: "$self" }] }] } }, match: "(\\b[\\w\\.]+)(\\[(?:[^\\]]+)?\\])?(?=\\{)(?<!\\bstruct\\b|\\binterface\\b)" }] }, other_variables: { match: "(?:\\w+)", name: "variable.other.go", patterns: [{ include: "#storage_types" }, { include: "$self" }] }, package_name: { patterns: [{ begin: "\\b(package)\\s+", beginCaptures: { 1: { name: "keyword.package.go" } }, comment: "package name", end: "(?!\\G)", patterns: [{ match: "\\d\\w*", name: "invalid.illegal.identifier.go" }, { match: "\\w+", name: "entity.name.type.package.go" }] }] }, "parameter-variable-types": { comment: "function and generic parameter types", patterns: [{ match: "\\{", name: "punctuation.definition.begin.bracket.curly.go" }, { match: "\\}", name: "punctuation.definition.end.bracket.curly.go" }, { begin: "(?:([\\w\\.\\*]+)?(\\[))", beginCaptures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] }, 2: { name: "punctuation.definition.begin.bracket.square.go" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.go" } }, patterns: [{ include: "#generic_param_types" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }] }] }, property_variables: { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.property.go" }] }, 2: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.go" }, { include: "$self" }] }, 3: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.property.field.go" }, { include: "$self" }] }, 4: { patterns: [{ captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.go" }] }, 2: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.property.field.go" }] } }, match: "([\\w\\.\\*\\&\\[\\]]+)(\\.\\w+)" }, { include: "$self" }] } }, comment: "Property variables in struct | parameter field in struct initialization", match: "(?:(?:((?:\\b[\\w\\.]+)(?:\\:(?!\\=))))(?:(?:\\s*([\\w\\.\\*\\&\\[\\]]+)(\\.\\w+)(?![\\w\\.\\*\\&\\[\\]]*(?:\\{|\\()))((?:\\s*(?:\\<|\\>|\\<\\=|\\>\\=|\\=\\=|\\!\\=|\\|\\||\\&\\&|\\+|/|\\-|\\*|\\%|\\||\\&)\\s*(?:[\\w\\.\\*\\&\\[\\]]+)(?:\\.\\w+)(?![\\w\\.\\*\\&\\[\\]]*(?:\\{|\\()))*))?)" }, raw_string_literals: { begin: "`", beginCaptures: { 0: { name: "punctuation.definition.string.begin.go" } }, comment: "Raw string literals", end: "`", endCaptures: { 0: { name: "punctuation.definition.string.end.go" } }, name: "string.quoted.raw.go", patterns: [{ include: "#string_placeholder" }] }, runes: { patterns: [{ begin: "'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.go" } }, end: "'", endCaptures: { 0: { name: "punctuation.definition.string.end.go" } }, name: "string.quoted.rune.go", patterns: [{ match: `\\G(\\\\([0-7]{3}|[abfnrtv\\\\'"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})|.)(?=')`, name: "constant.other.rune.go" }, { match: "[^']+", name: "invalid.illegal.unknown-rune.go" }] }] }, single_type: { patterns: [{ captures: { 1: { name: "keyword.type.go" }, 2: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] }, 3: { patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.round.go" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ include: "#function_param_types" }, { include: "$self" }] }, { include: "#type-declarations" }, { include: "#generic_types" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "single type declaration", match: "(?:(?:^\\s*)(\\btype\\b)(?:\\s*)([\\w\\.\\*]+)(?:\\s+)(?!(?:[\\[\\]\\*]+)?\\b(?:struct|interface)\\b)([\\s\\S]+))" }, { begin: "(?:(?:^|\\s+)(\\btype\\b)(?:\\s*)([\\w\\.\\*]+)(?=\\[))", beginCaptures: { 1: { name: "keyword.type.go" }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "single type declaration with generics", end: "(?:(?<=\\])((?:\\s+)(?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:(?!(?:[\\[\\]\\*]+)?(?:\\bstruct\\b|\\binterface\\b|\\bfunc\\b))[\\w\\.\\-\\*\\[\\]]+))?)", endCaptures: { 1: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, patterns: [{ include: "#struct_variables_types" }, { include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\{", name: "punctuation.definition.begin.bracket.curly.go" }, { match: "\\}", name: "punctuation.definition.end.bracket.curly.go" }, { match: "\\(", name: "punctuation.definition.begin.bracket.round.go" }, { match: "\\)", name: "punctuation.definition.end.bracket.round.go" }, { match: "\\w+", name: "entity.name.type.go" }] }] }, slice_index_variables: { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "variable.other.go" }] } }, comment: "slice index and capacity variables, to not scope them as property variables", match: "(?<=\\w\\[)((?:(?:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+\\:)|(?:\\:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+))(?:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+)?(?:\\:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+)?)(?=\\])" }, statements: { patterns: [{ include: "#package_name" }, { include: "#import" }, { include: "#syntax_errors" }, { include: "#group-functions" }, { include: "#group-types" }, { include: "#group-variables" }] }, storage_types: { patterns: [{ match: "\\bbool\\b", name: "storage.type.boolean.go" }, { match: "\\bbyte\\b", name: "storage.type.byte.go" }, { match: "\\berror\\b", name: "storage.type.error.go" }, { match: "\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\b", name: "storage.type.numeric.go" }, { match: "\\brune\\b", name: "storage.type.rune.go" }, { match: "\\bstring\\b", name: "storage.type.string.go" }, { match: "\\buintptr\\b", name: "storage.type.uintptr.go" }, { match: "\\bany\\b", name: "entity.name.type.any.go" }] }, string_escaped_char: { patterns: [{ match: `\\\\([0-7]{3}|[abfnrtv\\\\'"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})`, name: "constant.character.escape.go" }, { match: `\\\\[^0-7xuUabfnrtv\\'"]`, name: "invalid.illegal.unknown-escape.go" }] }, string_literals: { patterns: [{ begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.go" } }, comment: "Interpreted string literals", end: '"', endCaptures: { 0: { name: "punctuation.definition.string.end.go" } }, name: "string.quoted.double.go", patterns: [{ include: "#string_escaped_char" }, { include: "#string_placeholder" }] }] }, string_placeholder: { patterns: [{ match: "%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGspw]", name: "constant.other.placeholder.go" }] }, struct_interface_declaration: { captures: { 1: { name: "keyword.type.go" }, 2: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "struct, interface type declarations (related to: struct_variables_types, interface_variables_types)", match: "(?:(?:^\\s*)(\\btype\\b)(?:\\s*)([\\w\\.]+))" }, struct_variable_types_fields_multi: { patterns: [{ begin: "(?:\\s*)?([\\s\\,\\w]+)(?:\\s+)(?:(?:[\\[\\]\\*])+)?(\\bstruct\\b)\\s*(\\{)", beginCaptures: { 1: { match: "(?:\\w+)", name: "variable.other.property.go" }, 2: { name: "keyword.struct.go" }, 3: { name: "punctuation.definition.begin.bracket.curly.go" } }, comment: "Struct variable for struct in struct types", end: "\\}", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ include: "#struct_variables_types_fields" }, { include: "$self" }] }] }, struct_variables_types: { patterns: [{ begin: "(\\bstruct\\b)\\s*(\\{)", beginCaptures: { 1: { name: "keyword.struct.go" }, 2: { name: "punctuation.definition.begin.bracket.curly.go" } }, comment: "Struct variable type", end: "\\}", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ include: "#struct_variables_types_fields" }, { include: "$self" }] }] }, struct_variables_types_fields: { comment: "Struct variable type fields", patterns: [{ include: "#struct_variable_types_fields_multi" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "one line - single type", match: "(?:(?<=\\{)\\s*((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\w\\.\\*\\[\\]]+))\\s*(?=\\}))" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "variable.other.property.go" }] }, 2: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "one line - property variables and types", match: "(?:(?<=\\{)\\s*((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\w\\.\\*\\[\\]]+))\\s*(?=\\}))" }, { captures: { 1: { patterns: [{ captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "variable.other.property.go" }] }, 2: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, match: "(?:((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))?((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\w\\.\\*\\[\\]]+)(?:\\;)?))" }] } }, comment: "one line with semicolon(;) without formatting gofmt - single type | property variables and types", match: "(?:(?<=\\{)((?:\\s*(?:(?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))?(?:(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\w\\.\\*\\[\\]\\(\\)\\{\\}]+)(?:\\;)?))+)\\s*(?=\\}))" }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "one type only", match: '(?:((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?<!\\,\\s*)(?:[\\w\\.\\*]+)\\s*(?:(?:(?:".*")|(?:\\`.*\\`))\\s*)?(?:/(?:/|\\*).*)?)$)' }, { captures: { 1: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "variable.other.property.go" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#parameter-variable-types" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "property variables and types", match: "(?:((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))([\\s\\S]+))" }] }, support_functions: { captures: { 1: { name: "entity.name.function.support.go" }, 2: { patterns: [{ include: "#type-declarations" }, { match: "\\d\\w*", name: "invalid.illegal.identifier.go" }, { match: "\\w+", name: "entity.name.function.support.go" }] }, 3: { patterns: [{ include: "#type-declarations-without-brackets" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\{", name: "punctuation.definition.begin.bracket.curly.go" }, { match: "\\}", name: "punctuation.definition.end.bracket.curly.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "Support Functions", match: `(?:(?:((?<=\\.)\\w+)|(\\w+))(\\[(?:(?:[\\w\\.\\*\\[\\]\\{\\}"\\']+)(?:(?:\\,\\s*(?:[\\w\\.\\*\\[\\]\\{\\}]+))*))?\\])?(?=\\())` }, switch_select_case_variables: { captures: { 1: { name: "keyword.control.go" }, 2: { patterns: [{ include: "#type-declarations" }, { include: "#support_functions" }, { match: "\\w+", name: "variable.other.go" }] } }, comment: "variables after case control keyword in switch/select expression", match: "(?:(?:^\\s*(\\bcase\\b))(?:\\s+)([\\s\\S]+(?:\\:)\\s*(?:/(?:/|\\*).*)?)$)" }, switch_types: { begin: "(?<=\\bswitch\\b)(?:\\s*)(?:(\\w+\\s*\\:\\=)?\\s*([\\w\\.\\*\\(\\)\\[\\]]+))(\\.\\(\\btype\\b\\)\\s*)(\\{)", beginCaptures: { 1: { patterns: [{ include: "#operators" }, { match: "(?:\\w+)", name: "variable.other.assignment.go" }] }, 2: { patterns: [{ include: "#support_functions" }, { include: "#type-declarations" }, { match: "(?:\\w+)", name: "variable.other.go" }] }, 3: { patterns: [{ include: "#delimiters" }, { include: "#brackets" }, { match: "\\btype\\b", name: "keyword.type.go" }] }, 4: { name: "punctuation.definition.begin.bracket.curly.go" } }, end: "(?:\\})", endCaptures: { 0: { name: "punctuation.definition.end.bracket.curly.go" } }, patterns: [{ include: "#type-declarations" }, { captures: { 1: { name: "keyword.control.go" }, 2: { patterns: [{ include: "#type-declarations" }, { match: "\\w+", name: "entity.name.type.go" }] }, 3: { name: "punctuation.other.colon.go" }, 4: { patterns: [{ include: "#comments" }] } }, match: "(?:^\\s*(\\bcase\\b))(?:\\s+)([\\w\\.\\,\\*\\=\\<\\>\\!\\s]+)(:)(\\s*/(?:/|\\*)\\s*.*)?$" }, { include: "$self" }] }, syntax_errors: { patterns: [{ captures: { 1: { name: "invalid.illegal.slice.go" } }, comment: "Syntax error using slices", match: "\\[\\](\\s+)" }, { comment: "Syntax error numeric literals", match: "\\b0[0-7]*[89]\\d*\\b", name: "invalid.illegal.numeric.go" }] }, terminators: { comment: "Terminators", match: ";", name: "punctuation.terminator.go" }, "type-declarations": { comment: "includes all type declarations", patterns: [{ include: "#language_constants" }, { include: "#comments" }, { include: "#map_types" }, { include: "#brackets" }, { include: "#delimiters" }, { include: "#keywords" }, { include: "#operators" }, { include: "#runes" }, { include: "#storage_types" }, { include: "#raw_string_literals" }, { include: "#string_literals" }, { include: "#numeric_literals" }, { include: "#terminators" }] }, "type-declarations-without-brackets": { comment: "includes all type declarations without brackets (in some cases, brackets need to be captured manually)", patterns: [{ include: "#language_constants" }, { include: "#comments" }, { include: "#map_types" }, { include: "#delimiters" }, { include: "#keywords" }, { include: "#operators" }, { include: "#runes" }, { include: "#storage_types" }, { include: "#raw_string_literals" }, { include: "#string_literals" }, { include: "#numeric_literals" }, { include: "#terminators" }] }, type_assertion_inline: { captures: { 1: { name: "keyword.type.go" }, 2: { patterns: [{ include: "#type-declarations" }, { match: "(?:\\w+)", name: "entity.name.type.go" }] } }, comment: "struct/interface types in-line (type assertion) | switch type keyword", match: "(?:(?<=\\.\\()(?:(\\btype\\b)|((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?[\\w\\.\\[\\]\\*]+))(?=\\)))" }, var_const_assignment: { comment: "variable assignment with var and const keyword", patterns: [{ captures: { 1: { patterns: [{ include: "#delimiters" }, { match: "\\w+", name: "variable.other.assignment.go" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#generic_types" }, { match: "\\(", name: "punctuation.definition.begin.bracket.round.go" }, { match: "\\)", name: "punctuation.definition.end.bracket.round.go" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, comment: "var and const with single type assignment", match: "(?:(?<=\\bvar\\b|\\bconst\\b)(?:\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:\\=)?)?)" }, { begin: "(?:(?<=\\bvar\\b|\\bconst\\b)(?:\\s*)(\\())", beginCaptures: { 1: { name: "punctuation.definition.begin.bracket.round.go" } }, comment: "var and const with multi type assignment", end: "\\)", endCaptures: { 0: { name: "punctuation.definition.end.bracket.round.go" } }, patterns: [{ captures: { 1: { patterns: [{ include: "#delimiters" }, { match: "\\w+", name: "variable.other.assignment.go" }] }, 2: { patterns: [{ include: "#type-declarations-without-brackets" }, { include: "#generic_types" }, { match: "\\(", name: "punctuation.definition.begin.bracket.round.go" }, { match: "\\)", name: "punctuation.definition.end.bracket.round.go" }, { match: "\\[", name: "punctuation.definition.begin.bracket.square.go" }, { match: "\\]", name: "punctuation.definition.end.bracket.square.go" }, { match: "\\w+", name: "entity.name.type.go" }] } }, match: "(?:(?:^\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:\\=)?)?)" }, { include: "$self" }] }] }, variable_assignment: { comment: "variable assignment", patterns: [{ captures: { 0: { patterns: [{ include: "#delimiters" }, { match: "\\d\\w*", name: "invalid.illegal.identifier.go" }, { match: "\\w+", name: "variable.other.assignment.go" }] } }, comment: "variable assignment with :=", match: "\\b\\w+(?:\\,\\s*\\w+)*(?=\\s*:=)" }, { captures: { 0: { patterns: [{ include: "#delimiters" }, { include: "#operators" }, { match: "\\d\\w*", name: "invalid.illegal.identifier.go" }, { match: "\\w+", name: "variable.other.assignment.go" }] } }, comment: "variable assignment with =", match: "\\b[\\w\\.\\*]+(?:\\,\\s*[\\w\\.\\*]+)*(?=\\s*=(?!=))" }] } }, scopeName: "source.go" });
|
|
2
|
+
var t = [
|
|
3
|
+
e
|
|
4
|
+
];
|
|
5
|
+
export {
|
|
6
|
+
t as default
|
|
7
|
+
};
|