@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.
Files changed (155) hide show
  1. package/dist/Tableau10-GLA_9iAD-BMurskAd.js +9 -0
  2. package/dist/arc-BSRpyMf3-C5dasNo_.js +86 -0
  3. package/dist/array-CqVTtuYm-fKLgkG2b.js +6 -0
  4. package/dist/astro-mwoSwJnq-CNh-xuM0.js +27 -0
  5. package/dist/blockDiagram-6b2b5046-D02VCbQO-CPmGy0xX.js +1224 -0
  6. package/dist/c-eDnjw9rh-eDnjw9rh.js +87 -0
  7. package/dist/c4Diagram-b947cdbb-gYcL5VzP-DIDY83e1.js +1578 -0
  8. package/dist/channel-DHTQ8Ynn-7OPGex2S.js +5 -0
  9. package/dist/classDiagram-35230388-JdSKLSZv-D2crBRy-.js +217 -0
  10. package/dist/classDiagram-v2-412acd34-DFFRHXE_-B6aCxlD1.js +200 -0
  11. package/dist/clone-p6h9XXNm-3JQ-HRC6.js +8 -0
  12. package/dist/coffee-CRlSxcc3-CY091_1T.js +108 -0
  13. package/dist/cpp-DizfY48B-CA38N4Mn.js +208 -0
  14. package/dist/createText-423428c9-LivTKT7b-BXNfjcdp.js +2964 -0
  15. package/dist/csharp-uGDiXTZn-uGDiXTZn.js +762 -0
  16. package/dist/css-CAzixsid-CEpuX1HY.js +511 -0
  17. package/dist/csv-D4BoHddH-D4BoHddH.js +7 -0
  18. package/dist/diff-Bo5iyMQ2-Bo5iyMQ2.js +7 -0
  19. package/dist/docker-B10O2enb-B10O2enb.js +7 -0
  20. package/dist/documentation.es.js +5 -3130
  21. package/dist/documentation.umd.js +10152 -50
  22. package/dist/edges-d417c7a0-C1ggiwWz-Aj0OUf7e.js +1082 -0
  23. package/dist/erDiagram-0ea73325-mz0Z_-DA-Dr01LsTB.js +924 -0
  24. package/dist/flowDb-d35e309a-CPyxEMIt-lofeyUuw.js +1126 -0
  25. package/dist/flowDiagram-d949d7c1-DqCa0HNN-BK5wNO9Z.js +782 -0
  26. package/dist/flowDiagram-v2-49332944-UMosz1sZ-BG39AuNP.js +17 -0
  27. package/dist/flowchart-elk-definition-27cc417a-D2UKpS6N-r2p34307.js +48387 -0
  28. package/dist/ganttDiagram-5c869e3b-CVBHw4pG-CaG9QXQM.js +2490 -0
  29. package/dist/git-commit-CWf81VOF-DtOZSoIU.js +9 -0
  30. package/dist/git-rebase-sR-yVH_J-D5M2oE9O.js +9 -0
  31. package/dist/gitGraphDiagram-b9d81de9-BGm3fU0n-CbCpf-4j.js +1262 -0
  32. package/dist/go-BCCWZWY1-BCCWZWY1.js +7 -0
  33. package/dist/graph-4FyIWFHN-774TpNLL.js +870 -0
  34. package/dist/graphql-CT32SSoq-1pBWfpcR.js +18 -0
  35. package/dist/haml-8RvrfhLO-Bbc4xoLP.js +19 -0
  36. package/dist/handlebars-Cr5ro0bH-CLcCNLtV.js +15 -0
  37. package/dist/haskell-BfFu8DD8-BmkPJdLL.js +565 -0
  38. package/dist/html-BZB5lEhh-B74zAnWx.js +84 -0
  39. package/dist/html-derivative-0y7sV5Qc-D8-muTWn.js +9 -0
  40. package/dist/index-8fae9850-_CN7MNjP-Cq-s0PmS.js +373 -0
  41. package/dist/index-B-5DuDrq.js +29996 -0
  42. package/dist/infoDiagram-db7b18fc-V446j9uR-GSa8bniv.js +319 -0
  43. package/dist/ini-BsUFIxsI-BsUFIxsI.js +7 -0
  44. package/dist/init-DjUOC4st-C8Nwz6AJ.js +16 -0
  45. package/dist/java-Bk2JzfKB-Bk2JzfKB.js +74 -0
  46. package/dist/javascript-DqVBMyXe-DqVBMyXe.js +705 -0
  47. package/dist/journeyDiagram-d5636530-CFiu7dnV-DJMu6A22.js +803 -0
  48. package/dist/json-B12k4-6m-B12k4-6m.js +31 -0
  49. package/dist/json5-CvqQZK9I-CvqQZK9I.js +23 -0
  50. package/dist/jsonc-v2qGKRJY-v2qGKRJY.js +31 -0
  51. package/dist/jsonl-izxnMeZX-izxnMeZX.js +31 -0
  52. package/dist/jsx-aDp7j9_Z-aDp7j9_Z.js +705 -0
  53. package/dist/kotlin-NOMOielb-NOMOielb.js +7 -0
  54. package/dist/latex-Bw_ghldO-BlUAi6pB.js +339 -0
  55. package/dist/layout-2-aEcfuw-BqqWy5wB.js +1524 -0
  56. package/dist/less-CW2GmQHL-CW2GmQHL.js +165 -0
  57. package/dist/line-nVq5kEiy-DtZd3PHZ.js +34 -0
  58. package/dist/linear-Bz4oRFvQ-C869GXbm.js +447 -0
  59. package/dist/liquid-DJ2rh7oT-FwZwa67Y.js +28 -0
  60. package/dist/lua-5TZ-G8Be-CogscVHC.js +9 -0
  61. package/dist/make-whncTQWE-whncTQWE.js +7 -0
  62. package/dist/markdown-DYKdIx5--DYKdIx5-.js +135 -0
  63. package/dist/material-theme-lighter-BRE1Bis3-BRE1Bis3.js +769 -0
  64. package/dist/material-theme-palenight-Dhz61Tee-Dhz61Tee.js +769 -0
  65. package/dist/mdc-D0DPLwil-BfE3hy8_.js +88 -0
  66. package/dist/mdx-CKDMxEaL-CKDMxEaL.js +7 -0
  67. package/dist/mermaid-BxNM-z-u-BxNM-z-u.js +7 -0
  68. package/dist/mindmap-definition-377f8f1f-C2vFYDMs-B71SGbvx.js +19078 -0
  69. package/dist/nginx-C082G13W-vryM9k1W.js +9 -0
  70. package/dist/objective-c-BVtzkNiv-BVtzkNiv.js +115 -0
  71. package/dist/onig-BonMD2gC-BonMD2gC.js +4 -0
  72. package/dist/ordinal-MUacOSdK-B1MUT0BL.js +65 -0
  73. package/dist/pascal-CrvtytWS-CrvtytWS.js +7 -0
  74. package/dist/path-Crsf9Nsj-SiSjwXsf.js +91 -0
  75. package/dist/perl-D29UPKP6-Dez6-HRy.js +17 -0
  76. package/dist/php-D7Tl-iS7-BtPFrDEt.js +789 -0
  77. package/dist/pieDiagram-b0208e96-DhA_SoTh-CfDd9YdA.js +501 -0
  78. package/dist/plsql-8SPzZKaa-8SPzZKaa.js +7 -0
  79. package/dist/postcss-Cz2vjx_4-Cz2vjx_4.js +7 -0
  80. package/dist/powershell-B0buHCuS-B0buHCuS.js +7 -0
  81. package/dist/proto-6YaU_lta-6YaU_lta.js +7 -0
  82. package/dist/pug-DbFO7359-duYD8LVa.js +21 -0
  83. package/dist/python-BQXev0_W-BQXev0_W.js +524 -0
  84. package/dist/quadrantDiagram-0332be45-C8q96Ohm-DMblaqnx.js +903 -0
  85. package/dist/r-DU7Q70f1-DU7Q70f1.js +7 -0
  86. package/dist/reg-DoGLEyFr-DoGLEyFr.js +7 -0
  87. package/dist/requirementDiagram-bf7890df-D30zCZjB-B_JBC9RM.js +767 -0
  88. package/dist/rst-Bm1i8IkK-C9EaDq6g.js +26 -0
  89. package/dist/ruby-CZZKXaz8-BxaDEkRP.js +102 -0
  90. package/dist/rust-CIl6NRUt-CIl6NRUt.js +7 -0
  91. package/dist/sankeyDiagram-0acdec17-B4vNjMaS-Bauvtonp.js +816 -0
  92. package/dist/sass-LqXmC1Fh-LqXmC1Fh.js +8 -0
  93. package/dist/scss-DjxgF7f7-DGTzny6p.js +98 -0
  94. package/dist/sequenceDiagram-c18d009d-BniqGSPK-DuYYUmiZ.js +2201 -0
  95. package/dist/shellscript-CUUTQKn5-CUUTQKn5.js +7 -0
  96. package/dist/shellsession-BIPXtZci-D6avbCwN.js +9 -0
  97. package/dist/splunk-C0K00wNV-C0K00wNV.js +7 -0
  98. package/dist/sql-DkzN59UV-DkzN59UV.js +27 -0
  99. package/dist/ssh-config-BbWAW6SY-BbWAW6SY.js +7 -0
  100. package/dist/stateDiagram-43596fc0-F0V9suMd-L2Ywe-J_.js +266 -0
  101. package/dist/stateDiagram-v2-2ead4f9c-DUgJH8tF-BVo1q2i1.js +184 -0
  102. package/dist/style.css +1 -1
  103. package/dist/styles-6860f46c-Dflmq0ac-BRNSwis6.js +1089 -0
  104. package/dist/styles-7383a064-Dg7mXkpq-C4bItohl.js +430 -0
  105. package/dist/styles-b2c874b6-HpcOhE4Y-Bj0upXzO.js +960 -0
  106. package/dist/stylus-CAHdVuhm-CAHdVuhm.js +21 -0
  107. package/dist/svelte-DAxjO8Sh-D0e501jC.js +29 -0
  108. package/dist/svgDrawCommon-0ee1b4e9-CNkCfzsJ-Bz_doYLk.js +64 -0
  109. package/dist/swift-x2DVyVjN-Bz5PC9YM.js +550 -0
  110. package/dist/timeline-definition-d977decf-Cl38e_0g-D_Dlqa-R.js +794 -0
  111. package/dist/toml-Dbtbfmwk-Dbtbfmwk.js +75 -0
  112. package/dist/tsx-BmwsDeeh-BmwsDeeh.js +705 -0
  113. package/dist/twig-B_Gr-ODl-Cl9Q0GWo.js +58 -0
  114. package/dist/types/components/DocumentationContent.vue.d.ts +8 -1
  115. package/dist/types/components/DocumentationContent.vue.d.ts.map +1 -1
  116. package/dist/types/components/DocumentationDisplay.vue.d.ts +5 -1
  117. package/dist/types/components/DocumentationDisplay.vue.d.ts.map +1 -1
  118. package/dist/types/components/ProductDocumentModal.vue.d.ts +1 -1
  119. package/dist/types/components/ProductDocumentModal.vue.d.ts.map +1 -1
  120. package/dist/types/composables/useI18n.d.ts +4 -0
  121. package/dist/types/composables/useI18n.d.ts.map +1 -1
  122. package/dist/typescript-AEg-ehu7-AEg-ehu7.js +672 -0
  123. package/dist/v-BuvBsUKm-BuvBsUKm.js +7 -0
  124. package/dist/vb-cqjo5dul-cqjo5dul.js +7 -0
  125. package/dist/viml-h3ATW6He-h3ATW6He.js +7 -0
  126. package/dist/vue-Dz-azHaT-B9qBHMZi.js +71 -0
  127. package/dist/vue-html-DIGKAAs4-BeHSIJcx.js +11 -0
  128. package/dist/wasm-xOGcJ9Ts-xOGcJ9Ts.js +7 -0
  129. package/dist/wgsl-hGLOfCya-hGLOfCya.js +7 -0
  130. package/dist/xml-CfRpfi_B-BH3JRQfc.js +9 -0
  131. package/dist/xsl-BAqhSCYL-BTKPZRNQ.js +9 -0
  132. package/dist/xychartDiagram-e50adddc-JdLmRUgg-HmDalTeo.js +1282 -0
  133. package/dist/yaml-PGla5xPP-HJurM_FJ.js +206 -0
  134. package/package.json +13 -13
  135. package/dist/prism-bash.min-DDo5CyRs-DihCfXgx.js +0 -7
  136. package/dist/prism-css.min-BrrzZC7b-BrrzZC7b.js +0 -7
  137. package/dist/prism-docker.min-DnIEokC3-D0v8IWN_.js +0 -22
  138. package/dist/prism-go.min-C7UmK6TW-C7UmK6TW.js +0 -1
  139. package/dist/prism-http.min-CsU3-jB8-CQ8PCDXl.js +0 -23
  140. package/dist/prism-javascript.min-CEqHqgbm-CEqHqgbm.js +0 -8
  141. package/dist/prism-jq.min-Q555vXZm-Q555vXZm.js +0 -8
  142. package/dist/prism-json.min-B1GJqK1k-B1GJqK1k.js +0 -1
  143. package/dist/prism-log.min-SDopTpKN-SDopTpKN.js +0 -1
  144. package/dist/prism-lua.min-DwRnUVfS-DwRnUVfS.js +0 -1
  145. package/dist/prism-makefile.min-DyutknhE-DyutknhE.js +0 -1
  146. package/dist/prism-markdown.min-B7US-xc7-DB9aF_ZA.js +0 -63
  147. package/dist/prism-python.min-BIfpAh5K-BIfpAh5K.js +0 -1
  148. package/dist/prism-regex.min-f8DNqi8X-f8DNqi8X.js +0 -4
  149. package/dist/prism-rest.min-B6veHRJF-B6veHRJF.js +0 -1
  150. package/dist/prism-rust.min-Cb-Mi-h0-Cb-Mi-h0.js +0 -9
  151. package/dist/prism-scss.min-B0csyGJo-B0csyGJo.js +0 -1
  152. package/dist/prism-sql.min-BHXzX-c_-BHXzX-c_.js +0 -1
  153. package/dist/prism-typescript.min-oSVeWCAd-oSVeWCAd.js +0 -5
  154. package/dist/prism-xml-doc.min-yj0YzRGe-KgTQx-dc.js +0 -7
  155. package/dist/prism-yaml.min-CTetcdKA-C1YzP_OY.js +0 -28
@@ -0,0 +1,87 @@
1
+ const e = Object.freeze({ displayName: "C", name: "c", patterns: [{ include: "#preprocessor-rule-enabled" }, { include: "#preprocessor-rule-disabled" }, { include: "#preprocessor-rule-conditional" }, { include: "#predefined_macros" }, { include: "#comments" }, { include: "#switch_statement" }, { include: "#anon_pattern_1" }, { include: "#storage_types" }, { include: "#anon_pattern_2" }, { include: "#anon_pattern_3" }, { include: "#anon_pattern_4" }, { include: "#anon_pattern_5" }, { include: "#anon_pattern_6" }, { include: "#anon_pattern_7" }, { include: "#operators" }, { include: "#numbers" }, { include: "#strings" }, { include: "#anon_pattern_range_1" }, { include: "#anon_pattern_range_2" }, { include: "#anon_pattern_range_3" }, { include: "#pragma-mark" }, { include: "#anon_pattern_range_4" }, { include: "#anon_pattern_range_5" }, { include: "#anon_pattern_range_6" }, { include: "#anon_pattern_8" }, { include: "#anon_pattern_9" }, { include: "#anon_pattern_10" }, { include: "#anon_pattern_11" }, { include: "#anon_pattern_12" }, { include: "#anon_pattern_13" }, { include: "#block" }, { include: "#parens" }, { include: "#anon_pattern_range_7" }, { include: "#line_continuation_character" }, { include: "#anon_pattern_range_8" }, { include: "#anon_pattern_range_9" }, { include: "#anon_pattern_14" }, { include: "#anon_pattern_15" }], repository: { "access-method": { begin: "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))\\s*(?:(\\.)|(->))((?:(?:[a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(?:\\.)|(?:->)))*)\\s*([a-zA-Z_][a-zA-Z_0-9]*)(\\()", beginCaptures: { 1: { name: "variable.object.c" }, 2: { name: "punctuation.separator.dot-access.c" }, 3: { name: "punctuation.separator.pointer-access.c" }, 4: { patterns: [{ match: "\\.", name: "punctuation.separator.dot-access.c" }, { match: "->", name: "punctuation.separator.pointer-access.c" }, { match: "[a-zA-Z_][a-zA-Z_0-9]*", name: "variable.object.c" }, { match: ".+", name: "everything.else.c" }] }, 5: { name: "entity.name.function.member.c" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.function.member.c" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.member.c" } }, name: "meta.function-call.member.c", patterns: [{ include: "#function-call-innards" }] }, anon_pattern_1: { match: "\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\b", name: "keyword.control.c" }, anon_pattern_10: { match: `(?x) \\b
2
+ (int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t
3
+ |int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t
4
+ |uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t
5
+ |uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t
6
+ |uintmax_t|uintmax_t)
7
+ \\b`, name: "support.type.stdint.c" }, anon_pattern_11: { match: "\\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\\b", name: "support.constant.mac-classic.c" }, anon_pattern_12: { match: `(?x) \\b
8
+ (AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam
9
+ |ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr
10
+ |Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber
11
+ |ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64
12
+ |SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32
13
+ |UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr
14
+ |UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)
15
+ \\b`, name: "support.type.mac-classic.c" }, anon_pattern_13: { match: "\\b([A-Za-z0-9_]+_t)\\b", name: "support.type.posix-reserved.c" }, anon_pattern_14: { match: ";", name: "punctuation.terminator.statement.c" }, anon_pattern_15: { match: ",", name: "punctuation.separator.delimiter.c" }, anon_pattern_2: { match: "typedef", name: "keyword.other.typedef.c" }, anon_pattern_3: { match: "\\b(const|extern|register|restrict|static|volatile|inline)\\b", name: "storage.modifier.c" }, anon_pattern_4: { match: "\\bk[A-Z]\\w*\\b", name: "constant.other.variable.mac-classic.c" }, anon_pattern_5: { match: "\\bg[A-Z]\\w*\\b", name: "variable.other.readwrite.global.mac-classic.c" }, anon_pattern_6: { match: "\\bs[A-Z]\\w*\\b", name: "variable.other.readwrite.static.mac-classic.c" }, anon_pattern_7: { match: "\\b(NULL|true|false|TRUE|FALSE)\\b", name: "constant.language.c" }, anon_pattern_8: { match: "\\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\\b", name: "support.type.sys-types.c" }, anon_pattern_9: { match: "\\b(pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t)\\b", name: "support.type.pthread.c" }, anon_pattern_range_1: { begin: "((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((#)\\s*define\\b)\\s+((?<!\\w)[a-zA-Z_]\\w*(?!\\w))(?:(\\()([^()\\\\]+)(\\)))?", beginCaptures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 3: { name: "comment.block.c" }, 4: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] }, 5: { name: "keyword.control.directive.define.c" }, 6: { name: "punctuation.definition.directive.c" }, 7: { name: "entity.name.function.preprocessor.c" }, 8: { name: "punctuation.definition.parameters.begin.c" }, 9: { patterns: [{ captures: { 1: { name: "variable.parameter.preprocessor.c" } }, match: "(?<=[(,])\\s*((?<!\\w)[a-zA-Z_]\\w*(?!\\w))\\s*" }, { match: ",", name: "punctuation.separator.parameters.c" }, { match: "\\.\\.\\.", name: "ellipses.c punctuation.vararg-ellipses.variable.parameter.preprocessor.c" }] }, 10: { name: "punctuation.definition.parameters.end.c" } }, end: "(?<!\\\\)(?=\\n)", name: "meta.preprocessor.macro.c", patterns: [{ include: "#preprocessor-rule-define-line-contents" }] }, anon_pattern_range_2: { begin: "^\\s*((#)\\s*(error|warning))\\b\\s*", beginCaptures: { 1: { name: "keyword.control.directive.diagnostic.$3.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?<!\\\\)(?=\\n)", name: "meta.preprocessor.diagnostic.c", patterns: [{ begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.c" } }, end: '"|(?<!\\\\)(?=\\s*\\n)', endCaptures: { 0: { name: "punctuation.definition.string.end.c" } }, name: "string.quoted.double.c", patterns: [{ include: "#line_continuation_character" }] }, { begin: "'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.c" } }, end: "'|(?<!\\\\)(?=\\s*\\n)", endCaptures: { 0: { name: "punctuation.definition.string.end.c" } }, name: "string.quoted.single.c", patterns: [{ include: "#line_continuation_character" }] }, { begin: `[^'"]`, end: "(?<!\\\\)(?=\\s*\\n)", name: "string.unquoted.single.c", patterns: [{ include: "#line_continuation_character" }, { include: "#comments" }] }] }, anon_pattern_range_3: { begin: "^\\s*((#)\\s*(include(?:_next)?|import))\\b\\s*", beginCaptures: { 1: { name: "keyword.control.directive.$3.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.include.c", patterns: [{ include: "#line_continuation_character" }, { begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.c" } }, end: '"', endCaptures: { 0: { name: "punctuation.definition.string.end.c" } }, name: "string.quoted.double.include.c" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.definition.string.begin.c" } }, end: ">", endCaptures: { 0: { name: "punctuation.definition.string.end.c" } }, name: "string.quoted.other.lt-gt.include.c" }] }, anon_pattern_range_4: { begin: "^\\s*((#)\\s*line)\\b", beginCaptures: { 1: { name: "keyword.control.directive.line.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#strings" }, { include: "#numbers" }, { include: "#line_continuation_character" }] }, anon_pattern_range_5: { begin: "^\\s*(?:((#)\\s*undef))\\b", beginCaptures: { 1: { name: "keyword.control.directive.undef.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ match: "[a-zA-Z_$][\\w$]*", name: "entity.name.function.preprocessor.c" }, { include: "#line_continuation_character" }] }, anon_pattern_range_6: { begin: "^\\s*(?:((#)\\s*pragma))\\b", beginCaptures: { 1: { name: "keyword.control.directive.pragma.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.pragma.c", patterns: [{ include: "#strings" }, { match: "[a-zA-Z_$][\\w\\-$]*", name: "entity.other.attribute-name.pragma.preprocessor.c" }, { include: "#numbers" }, { include: "#line_continuation_character" }] }, anon_pattern_range_7: { begin: "(?<!\\w)(?!\\s*(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|pthread_rwlock_t|atomic_uintptr_t|atomic_ptrdiff_t|atomic_uintmax_t|atomic_intmax_t|atomic_char32_t|atomic_intptr_t|atomic_char16_t|pthread_mutex_t|pthread_cond_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_once_t|pthread_attr_t|uint_least8_t|int_least32_t|int_least16_t|pthread_key_t|uint_fast32_t|uint_fast64_t|uint_fast16_t|atomic_size_t|atomic_ushort|atomic_ullong|int_least64_t|atomic_ulong|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|memory_order|atomic_schar|atomic_uchar|atomic_short|atomic_llong|thread_local|atomic_bool|atomic_uint|atomic_long|int_fast8_t|suseconds_t|atomic_char|atomic_int|useconds_t|_Imaginary|uintmax_t|uintmax_t|in_addr_t|in_port_t|_Noreturn|blksize_t|pthread_t|uintptr_t|volatile|u_quad_t|blkcnt_t|intmax_t|intptr_t|_Complex|uint16_t|uint32_t|uint64_t|_Alignof|_Alignas|continue|unsigned|restrict|intmax_t|register|int64_t|qaddr_t|segsz_t|_Atomic|alignas|default|caddr_t|nlink_t|typedef|u_short|fixpt_t|clock_t|swblk_t|ssize_t|alignof|daddr_t|int16_t|int32_t|uint8_t|struct|mode_t|size_t|time_t|ushort|u_long|u_char|int8_t|double|signed|static|extern|inline|return|switch|xor_eq|and_eq|bitand|not_eq|sizeof|quad_t|uid_t|bitor|union|off_t|key_t|ino_t|compl|u_int|short|const|false|while|float|pid_t|break|_Bool|or_eq|div_t|dev_t|gid_t|id_t|long|case|goto|else|bool|auto|id_t|enum|uint|true|NULL|void|char|for|not|int|and|xor|do|or|if)\\s*\\()(?=[a-zA-Z_]\\w*\\s*\\()", end: "(?!\\G)(?<=\\))", name: "meta.function.c", patterns: [{ include: "#function-innards" }] }, anon_pattern_range_8: { begin: "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])", beginCaptures: { 1: { name: "variable.object.c" }, 2: { name: "punctuation.definition.begin.bracket.square.c" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.c" } }, name: "meta.bracket.square.access.c", patterns: [{ include: "#function-call-innards" }] }, anon_pattern_range_9: { match: "\\[\\s*\\]", name: "storage.modifier.array.bracket.square.c" }, backslash_escapes: { match: `(?x)\\\\ (
16
+ \\\\ |
17
+ [abefnprtv'"?] |
18
+ [0-3][0-7]{,2} |
19
+ [4-7]\\d? |
20
+ x[a-fA-F0-9]{,2} |
21
+ u[a-fA-F0-9]{,4} |
22
+ U[a-fA-F0-9]{,8} )`, name: "constant.character.escape.c" }, block: { patterns: [{ begin: "{", beginCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.c" } }, end: "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.c" } }, name: "meta.block.c", patterns: [{ include: "#block_innards" }] }] }, block_comment: { patterns: [{ begin: "\\s*+(\\/\\*)", beginCaptures: { 1: { name: "punctuation.definition.comment.begin.c" } }, end: "\\*\\/", endCaptures: { 0: { name: "punctuation.definition.comment.end.c" } }, name: "comment.block.c" }, { begin: "\\s*+(\\/\\*)", beginCaptures: { 1: { name: "punctuation.definition.comment.begin.c" } }, end: "\\*\\/", endCaptures: { 0: { name: "punctuation.definition.comment.end.c" } }, name: "comment.block.c" }] }, block_innards: { patterns: [{ include: "#preprocessor-rule-enabled-block" }, { include: "#preprocessor-rule-disabled-block" }, { include: "#preprocessor-rule-conditional-block" }, { include: "#method_access" }, { include: "#member_access" }, { include: "#c_function_call" }, { begin: `(?x)
23
+ (?:
24
+ (?:
25
+ (?=\\s)(?<!else|new|return)
26
+ (?<=\\w) \\s+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)
27
+ )
28
+ )
29
+ (
30
+ (?:[A-Za-z_][A-Za-z0-9_]*+ | :: )++
31
+ |
32
+ (?:(?<=operator) (?:[-*&<>=+!]+ | \\(\\) | \\[\\]))
33
+ )
34
+ \\s*(\\()`, beginCaptures: { 1: { name: "variable.other.c" }, 2: { name: "punctuation.section.parens.begin.bracket.round.initialization.c" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.initialization.c" } }, name: "meta.initialization.c", patterns: [{ include: "#function-call-innards" }] }, { begin: "{", beginCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.c" } }, end: "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.c" } }, patterns: [{ include: "#block_innards" }] }, { include: "#parens-block" }, { include: "$self" }] }, c_conditional_context: { patterns: [{ include: "$self" }, { include: "#block_innards" }] }, c_function_call: { begin: `(?x)
35
+ (?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()
36
+ (?=
37
+ (?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\(
38
+ |
39
+ (?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\\s*\\(
40
+ )`, end: "(?<=\\))(?!\\w)", name: "meta.function-call.c", patterns: [{ include: "#function-call-innards" }] }, case_statement: { begin: "((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?<!\\w)case(?!\\w))", beginCaptures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 3: { name: "comment.block.c" }, 4: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] }, 5: { name: "keyword.control.case.c" } }, end: "(:)", endCaptures: { 1: { name: "punctuation.separator.colon.case.c" } }, name: "meta.conditional.case.c", patterns: [{ include: "#evaluation_context" }, { include: "#c_conditional_context" }] }, comments: { patterns: [{ patterns: [{ patterns: [{ begin: "(?:^)(?>\\s*)(\\/\\/[!\\/]+)", beginCaptures: { 1: { name: "punctuation.definition.comment.documentation.c" } }, end: "(?<=\\n)(?<!\\\\\\n)", name: "comment.line.double-slash.documentation.c", patterns: [{ include: "#line_continuation_character" }, { match: '(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?', name: "storage.type.class.doxygen.c" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { name: "markup.italic.doxygen.c" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { name: "markup.bold.doxygen.c" } }, match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { name: "markup.inline.raw.string.c" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { patterns: [{ match: "in|out", name: "keyword.other.parameter.direction.$0.c" }] }, 3: { name: "variable.parameter.c" } }, match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { match: "(?:\\b[A-Z]+:|@[a-z_]+:)", name: "storage.type.class.gtkdoc" }] }, { captures: { 1: { name: "punctuation.definition.comment.begin.documentation.c" }, 2: { patterns: [{ match: '(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?', name: "storage.type.class.doxygen.c" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { name: "markup.italic.doxygen.c" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { name: "markup.bold.doxygen.c" } }, match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { name: "markup.inline.raw.string.c" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { patterns: [{ match: "in|out", name: "keyword.other.parameter.direction.$0.c" }] }, 3: { name: "variable.parameter.c" } }, match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { match: "(?:\\b[A-Z]+:|@[a-z_]+:)", name: "storage.type.class.gtkdoc" }] }, 3: { name: "punctuation.definition.comment.end.documentation.c" } }, match: "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)", name: "comment.block.documentation.c" }, { begin: "((?>\\s*)\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))", beginCaptures: { 1: { name: "punctuation.definition.comment.begin.documentation.c" } }, end: "([!*]*\\*\\/)", endCaptures: { 1: { name: "punctuation.definition.comment.end.documentation.c" } }, name: "comment.block.documentation.c", patterns: [{ match: '(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?', name: "storage.type.class.doxygen.c" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { name: "markup.italic.doxygen.c" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { name: "markup.bold.doxygen.c" } }, match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { name: "markup.inline.raw.string.c" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { captures: { 1: { name: "storage.type.class.doxygen.c" }, 2: { patterns: [{ match: "in|out", name: "keyword.other.parameter.direction.$0.c" }] }, 3: { name: "variable.parameter.c" } }, match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.c" }, { match: "(?:\\b[A-Z]+:|@[a-z_]+:)", name: "storage.type.class.gtkdoc" }] }, { captures: { 1: { name: "meta.toc-list.banner.block.c" } }, match: "^\\/\\* =(\\s*.*?)\\s*= \\*\\/$\\n?", name: "comment.block.banner.c" }, { begin: "(\\/\\*)", beginCaptures: { 1: { name: "punctuation.definition.comment.begin.c" } }, end: "(\\*\\/)", endCaptures: { 1: { name: "punctuation.definition.comment.end.c" } }, name: "comment.block.c" }, { captures: { 1: { name: "meta.toc-list.banner.line.c" } }, match: "^\\/\\/ =(\\s*.*?)\\s*=$\\n?", name: "comment.line.banner.c" }, { begin: "((?:^[ \\t]+)?)(?=\\/\\/)", beginCaptures: { 1: { name: "punctuation.whitespace.comment.leading.c" } }, end: "(?!\\G)", patterns: [{ begin: "(\\/\\/)", beginCaptures: { 1: { name: "punctuation.definition.comment.c" } }, end: "(?=\\n)", name: "comment.line.double-slash.c", patterns: [{ include: "#line_continuation_character" }] }] }] }, { include: "#block_comment" }, { include: "#line_comment" }] }, { include: "#block_comment" }, { include: "#line_comment" }] }, default_statement: { begin: "((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?<!\\w)default(?!\\w))", beginCaptures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 3: { name: "comment.block.c" }, 4: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] }, 5: { name: "keyword.control.default.c" } }, end: "(:)", endCaptures: { 1: { name: "punctuation.separator.colon.case.default.c" } }, name: "meta.conditional.case.c", patterns: [{ include: "#evaluation_context" }, { include: "#c_conditional_context" }] }, disabled: { begin: "^\\s*#\\s*if(n?def)?\\b.*$", end: "^\\s*#\\s*endif\\b", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }, evaluation_context: { patterns: [{ include: "#function-call-innards" }, { include: "$self" }] }, "function-call-innards": { patterns: [{ include: "#comments" }, { include: "#storage_types" }, { include: "#method_access" }, { include: "#member_access" }, { include: "#operators" }, { begin: `(?x)
41
+ (?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()
42
+ (
43
+ (?:[A-Za-z_][A-Za-z0-9_]*+|::)++
44
+ |
45
+ (?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))
46
+ )
47
+ \\s*(\\()`, beginCaptures: { 1: { name: "entity.name.function.c" }, 2: { name: "punctuation.section.arguments.begin.bracket.round.c" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.c" } }, patterns: [{ include: "#function-call-innards" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.c" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.c" } }, patterns: [{ include: "#function-call-innards" }] }, { include: "#block_innards" }] }, "function-innards": { patterns: [{ include: "#comments" }, { include: "#storage_types" }, { include: "#operators" }, { include: "#vararg_ellipses" }, { begin: `(?x)
48
+ (?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()
49
+ (
50
+ (?:[A-Za-z_][A-Za-z0-9_]*+|::)++
51
+ |
52
+ (?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))
53
+ )
54
+ \\s*(\\()`, beginCaptures: { 1: { name: "entity.name.function.c" }, 2: { name: "punctuation.section.parameters.begin.bracket.round.c" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.c" } }, name: "meta.function.definition.parameters.c", patterns: [{ include: "#probably_a_parameter" }, { include: "#function-innards" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.c" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.c" } }, patterns: [{ include: "#function-innards" }] }, { include: "$self" }] }, inline_comment: { patterns: [{ patterns: [{ captures: { 1: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 2: { name: "comment.block.c" }, 3: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] } }, match: "(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/))" }, { captures: { 1: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 2: { name: "comment.block.c" }, 3: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] } }, match: "(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/))" }] }, { captures: { 1: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 2: { name: "comment.block.c" }, 3: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] } }, match: "(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/))" }] }, line_comment: { patterns: [{ begin: "\\s*+(\\/\\/)", beginCaptures: { 1: { name: "punctuation.definition.comment.c" } }, end: "(?<=\\n)(?<!\\\\\\n)", endCaptures: {}, name: "comment.line.double-slash.c", patterns: [{ include: "#line_continuation_character" }] }, { begin: "\\s*+(\\/\\/)", beginCaptures: { 1: { name: "punctuation.definition.comment.c" } }, end: "(?<=\\n)(?<!\\\\\\n)", endCaptures: {}, name: "comment.line.double-slash.c", patterns: [{ include: "#line_continuation_character" }] }] }, line_continuation_character: { patterns: [{ captures: { 1: { name: "constant.character.escape.line-continuation.c" } }, match: "(\\\\)\\n" }] }, member_access: { captures: { 1: { name: "variable.other.object.access.c" }, 2: { name: "punctuation.separator.dot-access.c" }, 3: { name: "punctuation.separator.pointer-access.c" }, 4: { patterns: [{ include: "#member_access" }, { include: "#method_access" }, { captures: { 1: { name: "variable.other.object.access.c" }, 2: { name: "punctuation.separator.dot-access.c" }, 3: { name: "punctuation.separator.pointer-access.c" } }, match: "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))" }] }, 5: { name: "variable.other.member.c" } }, match: "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:->\\*|->)))\\s*)*)\\s*(\\b(?!(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|atomic_uintptr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintmax_t|pthread_mutex_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_attr_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_cond_t|pthread_once_t|uint_fast64_t|uint_fast16_t|atomic_size_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|pthread_key_t|atomic_ullong|atomic_ushort|uint_fast32_t|atomic_schar|atomic_short|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast16_t|atomic_ulong|atomic_llong|int_least8_t|atomic_uchar|memory_order|suseconds_t|int_fast8_t|atomic_bool|atomic_char|atomic_uint|atomic_long|atomic_int|useconds_t|_Imaginary|blksize_t|pthread_t|in_addr_t|uintptr_t|in_port_t|uintmax_t|uintmax_t|blkcnt_t|uint16_t|unsigned|_Complex|uint32_t|intptr_t|intmax_t|intmax_t|uint64_t|u_quad_t|int64_t|int32_t|ssize_t|caddr_t|clock_t|uint8_t|u_short|swblk_t|segsz_t|int16_t|fixpt_t|daddr_t|nlink_t|qaddr_t|size_t|time_t|mode_t|signed|quad_t|ushort|u_long|u_char|double|int8_t|ino_t|uid_t|pid_t|_Bool|float|dev_t|div_t|short|gid_t|off_t|u_int|key_t|id_t|uint|long|void|char|bool|id_t|int)\\b)[a-zA-Z_]\\w*\\b(?!\\())" }, method_access: { begin: "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:->\\*|->)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()", beginCaptures: { 1: { name: "variable.other.object.access.c" }, 2: { name: "punctuation.separator.dot-access.c" }, 3: { name: "punctuation.separator.pointer-access.c" }, 4: { patterns: [{ include: "#member_access" }, { include: "#method_access" }, { captures: { 1: { name: "variable.other.object.access.c" }, 2: { name: "punctuation.separator.dot-access.c" }, 3: { name: "punctuation.separator.pointer-access.c" } }, match: "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))" }] }, 5: { name: "entity.name.function.member.c" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.function.member.c" } }, contentName: "meta.function-call.member.c", end: "(\\))", endCaptures: { 1: { name: "punctuation.section.arguments.end.bracket.round.function.member.c" } }, patterns: [{ include: "#function-call-innards" }] }, numbers: { captures: { 0: { patterns: [{ begin: "(?=.)", end: "$", patterns: [{ captures: { 1: { name: "keyword.other.unit.hexadecimal.c" }, 2: { name: "constant.numeric.hexadecimal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 3: { name: "punctuation.separator.constant.numeric" }, 4: { name: "constant.numeric.hexadecimal.c" }, 5: { name: "constant.numeric.hexadecimal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 6: { name: "punctuation.separator.constant.numeric" }, 8: { name: "keyword.other.unit.exponent.hexadecimal.c" }, 9: { name: "keyword.operator.plus.exponent.hexadecimal.c" }, 10: { name: "keyword.operator.minus.exponent.hexadecimal.c" }, 11: { name: "constant.numeric.exponent.hexadecimal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 12: { name: "keyword.other.unit.suffix.floating-point.c" } }, match: "(\\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])))*)))?([lLfF](?!\\w))?$" }, { captures: { 2: { name: "constant.numeric.decimal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 3: { name: "punctuation.separator.constant.numeric" }, 4: { name: "constant.numeric.decimal.point.c" }, 5: { name: "constant.numeric.decimal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 6: { name: "punctuation.separator.constant.numeric" }, 8: { name: "keyword.other.unit.exponent.decimal.c" }, 9: { name: "keyword.operator.plus.exponent.decimal.c" }, 10: { name: "keyword.operator.minus.exponent.decimal.c" }, 11: { name: "constant.numeric.exponent.decimal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 12: { name: "keyword.other.unit.suffix.floating-point.c" } }, match: "(\\G(?=[0-9.])(?!0[xXbB]))([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])))*)))?([lLfF](?!\\w))?$" }, { captures: { 1: { name: "keyword.other.unit.binary.c" }, 2: { name: "constant.numeric.binary.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 3: { name: "punctuation.separator.constant.numeric" }, 4: { name: "keyword.other.unit.suffix.integer.c" } }, match: "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$" }, { captures: { 1: { name: "keyword.other.unit.octal.c" }, 2: { name: "constant.numeric.octal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 3: { name: "punctuation.separator.constant.numeric" }, 4: { name: "keyword.other.unit.suffix.integer.c" } }, match: "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$" }, { captures: { 1: { name: "keyword.other.unit.hexadecimal.c" }, 2: { name: "constant.numeric.hexadecimal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 3: { name: "punctuation.separator.constant.numeric" }, 5: { name: "keyword.other.unit.exponent.hexadecimal.c" }, 6: { name: "keyword.operator.plus.exponent.hexadecimal.c" }, 7: { name: "keyword.operator.minus.exponent.hexadecimal.c" }, 8: { name: "constant.numeric.exponent.hexadecimal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 9: { name: "keyword.other.unit.suffix.integer.c" } }, match: "(\\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])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$" }, { captures: { 2: { name: "constant.numeric.decimal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 3: { name: "punctuation.separator.constant.numeric" }, 5: { name: "keyword.other.unit.exponent.decimal.c" }, 6: { name: "keyword.operator.plus.exponent.decimal.c" }, 7: { name: "keyword.operator.minus.exponent.decimal.c" }, 8: { name: "constant.numeric.exponent.decimal.c", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric" }] }, 9: { name: "keyword.other.unit.suffix.integer.c" } }, match: "(\\G(?=[0-9.])(?!0[xXbB]))([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])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$" }, { match: "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+", name: "invalid.illegal.constant.numeric" }] }] } }, match: "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*" }, operators: { patterns: [{ match: "(?<![\\w$])(sizeof)(?![\\w$])", name: "keyword.operator.sizeof.c" }, { match: "--", name: "keyword.operator.decrement.c" }, { match: "\\+\\+", name: "keyword.operator.increment.c" }, { match: "%=|\\+=|-=|\\*=|(?<!\\()/=", name: "keyword.operator.assignment.compound.c" }, { match: "&=|\\^=|<<=|>>=|\\|=", name: "keyword.operator.assignment.compound.bitwise.c" }, { match: "<<|>>", name: "keyword.operator.bitwise.shift.c" }, { match: "!=|<=|>=|==|<|>", name: "keyword.operator.comparison.c" }, { match: "&&|!|\\|\\|", name: "keyword.operator.logical.c" }, { match: "&|\\||\\^|~", name: "keyword.operator.c" }, { match: "=", name: "keyword.operator.assignment.c" }, { match: "%|\\*|/|-|\\+", name: "keyword.operator.c" }, { begin: "(\\?)", beginCaptures: { 1: { name: "keyword.operator.ternary.c" } }, end: "(:)", endCaptures: { 1: { name: "keyword.operator.ternary.c" } }, patterns: [{ include: "#function-call-innards" }, { include: "$self" }] }] }, parens: { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.c" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.c" } }, name: "meta.parens.c", patterns: [{ include: "$self" }] }, "parens-block": { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.c" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.c" } }, name: "meta.parens.block.c", patterns: [{ include: "#block_innards" }, { match: "(?-mix:(?<!:):(?!:))", name: "punctuation.range-based.c" }] }, "pragma-mark": { captures: { 1: { name: "meta.preprocessor.pragma.c" }, 2: { name: "keyword.control.directive.pragma.pragma-mark.c" }, 3: { name: "punctuation.definition.directive.c" }, 4: { name: "entity.name.tag.pragma-mark.c" } }, match: "^\\s*(((#)\\s*pragma\\s+mark)\\s+(.*))", name: "meta.section.c" }, predefined_macros: { patterns: [{ captures: { 1: { name: "entity.name.other.preprocessor.macro.predefined.$1.c" } }, match: "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b" }, { match: "\\b__([A-Z_]+)__\\b", name: "entity.name.other.preprocessor.macro.predefined.probably.$1.c" }] }, "preprocessor-rule-conditional": { patterns: [{ begin: "^\\s*((#)\\s*if(?:n?def)?\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "^\\s*((#)\\s*endif\\b)", endCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#preprocessor-rule-enabled-elif" }, { include: "#preprocessor-rule-enabled-else" }, { include: "#preprocessor-rule-disabled-elif" }, { begin: "^\\s*((#)\\s*elif\\b)", beginCaptures: { 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "$self" }] }, { captures: { 0: { name: "invalid.illegal.stray-$1.c" } }, match: "^\\s*#\\s*(else|elif|endif)\\b" }] }, "preprocessor-rule-conditional-block": { patterns: [{ begin: "^\\s*((#)\\s*if(?:n?def)?\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "^\\s*((#)\\s*endif\\b)", endCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#preprocessor-rule-enabled-elif-block" }, { include: "#preprocessor-rule-enabled-else-block" }, { include: "#preprocessor-rule-disabled-elif" }, { begin: "^\\s*((#)\\s*elif\\b)", beginCaptures: { 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#block_innards" }] }, { captures: { 0: { name: "invalid.illegal.stray-$1.c" } }, match: "^\\s*#\\s*(else|elif|endif)\\b" }] }, "preprocessor-rule-conditional-line": { patterns: [{ match: "(?:\\bdefined\\b\\s*$)|(?:\\bdefined\\b(?=\\s*\\(*\\s*(?:(?!defined\\b)[a-zA-Z_$][\\w$]*\\b)\\s*\\)*\\s*(?:\\n|//|/\\*|\\?|\\:|&&|\\|\\||\\\\\\s*\\n)))", name: "keyword.control.directive.conditional.c" }, { match: "\\bdefined\\b", name: "invalid.illegal.macro-name.c" }, { include: "#comments" }, { include: "#strings" }, { include: "#numbers" }, { begin: "\\?", beginCaptures: { 0: { name: "keyword.operator.ternary.c" } }, end: ":", endCaptures: { 0: { name: "keyword.operator.ternary.c" } }, patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#operators" }, { match: "\\b(NULL|true|false|TRUE|FALSE)\\b", name: "constant.language.c" }, { match: "[a-zA-Z_$][\\w$]*", name: "entity.name.function.preprocessor.c" }, { include: "#line_continuation_character" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.c" } }, end: "\\)|(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.c" } }, patterns: [{ include: "#preprocessor-rule-conditional-line" }] }] }, "preprocessor-rule-define-line-blocks": { patterns: [{ begin: "{", beginCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.c" } }, end: "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)|(?<!\\\\)(?=\\s*\\n)", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.c" } }, patterns: [{ include: "#preprocessor-rule-define-line-blocks" }, { include: "#preprocessor-rule-define-line-contents" }] }, { include: "#preprocessor-rule-define-line-contents" }] }, "preprocessor-rule-define-line-contents": { patterns: [{ include: "#vararg_ellipses" }, { begin: "{", beginCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.c" } }, end: "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)|(?<!\\\\)(?=\\s*\\n)", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.c" } }, name: "meta.block.c", patterns: [{ include: "#preprocessor-rule-define-line-blocks" }] }, { match: "\\(", name: "punctuation.section.parens.begin.bracket.round.c" }, { match: "\\)", name: "punctuation.section.parens.end.bracket.round.c" }, { begin: `(?x)
55
+ (?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas|asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\s*\\()
56
+ (?=
57
+ (?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\(
58
+ |
59
+ (?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\\s*\\(
60
+ )`, end: "(?<=\\))(?!\\w)|(?<!\\\\)(?=\\s*\\n)", name: "meta.function.c", patterns: [{ include: "#preprocessor-rule-define-line-functions" }] }, { begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.c" } }, end: '"|(?<!\\\\)(?=\\s*\\n)', endCaptures: { 0: { name: "punctuation.definition.string.end.c" } }, name: "string.quoted.double.c", patterns: [{ include: "#string_escaped_char" }, { include: "#string_placeholder" }, { include: "#line_continuation_character" }] }, { begin: "'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.c" } }, end: "'|(?<!\\\\)(?=\\s*\\n)", endCaptures: { 0: { name: "punctuation.definition.string.end.c" } }, name: "string.quoted.single.c", patterns: [{ include: "#string_escaped_char" }, { include: "#line_continuation_character" }] }, { include: "#method_access" }, { include: "#member_access" }, { include: "$self" }] }, "preprocessor-rule-define-line-functions": { patterns: [{ include: "#comments" }, { include: "#storage_types" }, { include: "#vararg_ellipses" }, { include: "#method_access" }, { include: "#member_access" }, { include: "#operators" }, { begin: `(?x)
61
+ (?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()
62
+ (
63
+ (?:[A-Za-z_][A-Za-z0-9_]*+|::)++
64
+ |
65
+ (?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))
66
+ )
67
+ \\s*(\\()`, beginCaptures: { 1: { name: "entity.name.function.c" }, 2: { name: "punctuation.section.arguments.begin.bracket.round.c" } }, end: "(\\))|(?<!\\\\)(?=\\s*\\n)", endCaptures: { 1: { name: "punctuation.section.arguments.end.bracket.round.c" } }, patterns: [{ include: "#preprocessor-rule-define-line-functions" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.c" } }, end: "(\\))|(?<!\\\\)(?=\\s*\\n)", endCaptures: { 1: { name: "punctuation.section.parens.end.bracket.round.c" } }, patterns: [{ include: "#preprocessor-rule-define-line-functions" }] }, { include: "#preprocessor-rule-define-line-contents" }] }, "preprocessor-rule-disabled": { patterns: [{ begin: "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "^\\s*((#)\\s*endif\\b)", endCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#comments" }, { include: "#preprocessor-rule-enabled-elif" }, { include: "#preprocessor-rule-enabled-else" }, { include: "#preprocessor-rule-disabled-elif" }, { begin: "^\\s*((#)\\s*elif\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))", patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "$self" }] }, { begin: "\\n", contentName: "comment.block.preprocessor.if-branch.c", end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }] }] }, "preprocessor-rule-disabled-block": { patterns: [{ begin: "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "^\\s*((#)\\s*endif\\b)", endCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#comments" }, { include: "#preprocessor-rule-enabled-elif-block" }, { include: "#preprocessor-rule-enabled-else-block" }, { include: "#preprocessor-rule-disabled-elif" }, { begin: "^\\s*((#)\\s*elif\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))", patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#block_innards" }] }, { begin: "\\n", contentName: "comment.block.preprocessor.if-branch.in-block.c", end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }] }] }, "preprocessor-rule-disabled-elif": { begin: "^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))", patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#comments" }, { begin: "\\n", contentName: "comment.block.preprocessor.elif-branch.c", end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }] }, "preprocessor-rule-enabled": { patterns: [{ begin: "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" }, 3: { name: "constant.numeric.preprocessor.c" } }, end: "^\\s*((#)\\s*endif\\b)", endCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#comments" }, { begin: "^\\s*((#)\\s*else\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, contentName: "comment.block.preprocessor.else-branch.c", end: "(?=^\\s*((#)\\s*endif\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }, { begin: "^\\s*((#)\\s*elif\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, contentName: "comment.block.preprocessor.if-branch.c", end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }, { begin: "\\n", end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))", patterns: [{ include: "$self" }] }] }] }, "preprocessor-rule-enabled-block": { patterns: [{ begin: "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "^\\s*((#)\\s*endif\\b)", endCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#comments" }, { begin: "^\\s*((#)\\s*else\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, contentName: "comment.block.preprocessor.else-branch.in-block.c", end: "(?=^\\s*((#)\\s*endif\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }, { begin: "^\\s*((#)\\s*elif\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, contentName: "comment.block.preprocessor.if-branch.in-block.c", end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }, { begin: "\\n", end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))", patterns: [{ include: "#block_innards" }] }] }] }, "preprocessor-rule-enabled-elif": { begin: "^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=^\\s*((#)\\s*endif\\b))", patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#comments" }, { begin: "\\n", end: "(?=^\\s*((#)\\s*(?:endif)\\b))", patterns: [{ begin: "^\\s*((#)\\s*(else)\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, contentName: "comment.block.preprocessor.elif-branch.c", end: "(?=^\\s*((#)\\s*endif\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }, { begin: "^\\s*((#)\\s*(elif)\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, contentName: "comment.block.preprocessor.elif-branch.c", end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }, { include: "$self" }] }] }, "preprocessor-rule-enabled-elif-block": { begin: "^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=^\\s*((#)\\s*endif\\b))", patterns: [{ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))", end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)", name: "meta.preprocessor.c", patterns: [{ include: "#preprocessor-rule-conditional-line" }] }, { include: "#comments" }, { begin: "\\n", end: "(?=^\\s*((#)\\s*(?:endif)\\b))", patterns: [{ begin: "^\\s*((#)\\s*(else)\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, contentName: "comment.block.preprocessor.elif-branch.in-block.c", end: "(?=^\\s*((#)\\s*endif\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }, { begin: "^\\s*((#)\\s*(elif)\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, contentName: "comment.block.preprocessor.elif-branch.c", end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))", patterns: [{ include: "#disabled" }, { include: "#pragma-mark" }] }, { include: "#block_innards" }] }] }, "preprocessor-rule-enabled-else": { begin: "^\\s*((#)\\s*else\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=^\\s*((#)\\s*endif\\b))", patterns: [{ include: "$self" }] }, "preprocessor-rule-enabled-else-block": { begin: "^\\s*((#)\\s*else\\b)", beginCaptures: { 0: { name: "meta.preprocessor.c" }, 1: { name: "keyword.control.directive.conditional.c" }, 2: { name: "punctuation.definition.directive.c" } }, end: "(?=^\\s*((#)\\s*endif\\b))", patterns: [{ include: "#block_innards" }] }, probably_a_parameter: { captures: { 1: { name: "variable.parameter.probably.c" } }, match: "(?<=(?:[a-zA-Z_0-9] |[&*>\\]\\)]))\\s*([a-zA-Z_]\\w*)\\s*(?=(?:\\[\\]\\s*)?(?:,|\\)))" }, static_assert: { begin: "((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?<!\\w)static_assert|_Static_assert(?!\\w))((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))(\\()", beginCaptures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 3: { name: "comment.block.c" }, 4: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] }, 5: { name: "keyword.other.static_assert.c" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 8: { name: "comment.block.c" }, 9: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] }, 10: { name: "punctuation.section.arguments.begin.bracket.round.static_assert.c" } }, end: "(\\))", endCaptures: { 1: { name: "punctuation.section.arguments.end.bracket.round.static_assert.c" } }, patterns: [{ begin: '(,)\\s*(?=(?:L|u8|u|U\\s*\\")?)', beginCaptures: { 1: { name: "punctuation.separator.delimiter.comma.c" } }, end: "(?=\\))", name: "meta.static_assert.message.c", patterns: [{ include: "#string_context" }] }, { include: "#evaluation_context" }] }, storage_types: { patterns: [{ match: "(?-mix:(?<!\\w)(?:unsigned|signed|double|_Bool|short|float|long|void|char|bool|int)(?!\\w))", name: "storage.type.built-in.primitive.c" }, { match: "(?-mix:(?<!\\w)(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|pthread_rwlockattr_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_uint_fast16_t|atomic_int_least64_t|atomic_int_least32_t|atomic_int_least16_t|atomic_uint_least8_t|atomic_uint_fast8_t|atomic_int_least8_t|atomic_int_fast16_t|pthread_mutexattr_t|atomic_int_fast32_t|atomic_int_fast64_t|atomic_int_fast8_t|pthread_condattr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintptr_t|atomic_uintmax_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_mutex_t|pthread_cond_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_once_t|pthread_attr_t|int_least32_t|pthread_key_t|int_least16_t|int_least64_t|uint_least8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|atomic_ushort|atomic_ullong|atomic_size_t|int_fast16_t|int_fast64_t|uint_fast8_t|atomic_short|atomic_uchar|atomic_schar|int_least8_t|memory_order|atomic_llong|atomic_ulong|int_fast32_t|atomic_long|atomic_uint|atomic_char|int_fast8_t|suseconds_t|atomic_bool|atomic_int|_Imaginary|useconds_t|in_port_t|uintmax_t|uintmax_t|pthread_t|blksize_t|in_addr_t|uintptr_t|blkcnt_t|uint16_t|uint32_t|uint64_t|u_quad_t|_Complex|intptr_t|intmax_t|intmax_t|segsz_t|u_short|nlink_t|uint8_t|int64_t|int32_t|int16_t|fixpt_t|daddr_t|caddr_t|qaddr_t|ssize_t|clock_t|swblk_t|u_long|mode_t|int8_t|time_t|ushort|u_char|quad_t|size_t|pid_t|gid_t|uid_t|dev_t|div_t|off_t|u_int|key_t|ino_t|uint|id_t|id_t)(?!\\w))", name: "storage.type.built-in.c" }, { match: "(?-mix:\\b(enum|struct|union)\\b)", name: "storage.type.$1.c" }, { begin: "(\\b(?:__asm__|asm)\\b)\\s*((?:volatile)?)", beginCaptures: { 1: { name: "storage.type.asm.c" }, 2: { name: "storage.modifier.c" } }, end: "(?!\\G)", name: "meta.asm.c", patterns: [{ captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 3: { name: "comment.block.c" }, 4: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] } }, match: "(?:^)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?:\\n|$)" }, { include: "#comments" }, { begin: "(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\()", beginCaptures: { 1: { name: "punctuation.section.parens.begin.bracket.round.assembly.c" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 4: { name: "comment.block.c" }, 5: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] } }, end: "(\\))", endCaptures: { 1: { name: "punctuation.section.parens.end.bracket.round.assembly.c" } }, patterns: [{ begin: '(R?)(")', beginCaptures: { 1: { name: "meta.encoding.c" }, 2: { name: "punctuation.definition.string.begin.assembly.c" } }, contentName: "meta.embedded.assembly.c", end: '(")', endCaptures: { 1: { name: "punctuation.definition.string.end.assembly.c" } }, name: "string.quoted.double.c", patterns: [{ include: "source.asm" }, { include: "source.x86" }, { include: "source.x86_64" }, { include: "source.arm" }, { include: "#backslash_escapes" }, { include: "#string_escaped_char" }] }, { begin: "(\\()", beginCaptures: { 1: { name: "punctuation.section.parens.begin.bracket.round.assembly.inner.c" } }, end: "(\\))", endCaptures: { 1: { name: "punctuation.section.parens.end.bracket.round.assembly.inner.c" } }, patterns: [{ include: "#evaluation_context" }] }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 3: { name: "comment.block.c" }, 4: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] }, 5: { name: "variable.other.asm.label.c" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 8: { name: "comment.block.c" }, 9: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] } }, match: "\\[((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))([a-zA-Z_]\\w*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\]" }, { match: ":", name: "punctuation.separator.delimiter.colon.assembly.c" }, { include: "#comments" }] }] }] }, string_escaped_char: { patterns: [{ match: `(?x)\\\\ (
68
+ \\\\ |
69
+ [abefnprtv'"?] |
70
+ [0-3]\\d{,2} |
71
+ [4-7]\\d? |
72
+ x[a-fA-F0-9]{,2} |
73
+ u[a-fA-F0-9]{,4} |
74
+ U[a-fA-F0-9]{,8} )`, name: "constant.character.escape.c" }, { match: "\\\\.", name: "invalid.illegal.unknown-escape.c" }] }, string_placeholder: { patterns: [{ match: `(?x) %
75
+ (\\d+\\$)?
76
+ [#0\\- +']*
77
+ [,;:_]?
78
+ ((-?\\d+)|\\*(-?\\d+\\$)?)?
79
+ (\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?
80
+ (hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?
81
+ [diouxXDOUeEfFgGaACcSspn%]`, name: "constant.other.placeholder.c" }, { captures: { 1: { name: "invalid.illegal.placeholder.c" } }, match: '(%)(?!"\\s*(PRI|SCN))' }] }, strings: { patterns: [{ begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.c" } }, end: '"', endCaptures: { 0: { name: "punctuation.definition.string.end.c" } }, name: "string.quoted.double.c", patterns: [{ include: "#string_escaped_char" }, { include: "#string_placeholder" }, { include: "#line_continuation_character" }] }, { begin: "'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.c" } }, end: "'", endCaptures: { 0: { name: "punctuation.definition.string.end.c" } }, name: "string.quoted.single.c", patterns: [{ include: "#string_escaped_char" }, { include: "#line_continuation_character" }] }] }, switch_conditional_parentheses: { begin: "((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))(\\()", beginCaptures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 3: { name: "comment.block.c" }, 4: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] }, 5: { name: "punctuation.section.parens.begin.bracket.round.conditional.switch.c" } }, end: "(\\))", endCaptures: { 1: { name: "punctuation.section.parens.end.bracket.round.conditional.switch.c" } }, name: "meta.conditional.switch.c", patterns: [{ include: "#evaluation_context" }, { include: "#c_conditional_context" }] }, switch_statement: { begin: "(((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?<!\\w)switch(?!\\w)))", beginCaptures: { 1: { name: "meta.head.switch.c" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.c punctuation.definition.comment.begin.c" }, 4: { name: "comment.block.c" }, 5: { patterns: [{ match: "\\*\\/", name: "comment.block.c punctuation.definition.comment.end.c" }, { match: "\\*", name: "comment.block.c" }] }, 6: { name: "keyword.control.switch.c" } }, end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", name: "meta.block.switch.c", patterns: [{ begin: "\\G ?", end: "((?:\\{|<%|\\?\\?<|(?=;)))", endCaptures: { 1: { name: "punctuation.section.block.begin.bracket.curly.switch.c" } }, name: "meta.head.switch.c", patterns: [{ include: "#switch_conditional_parentheses" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", end: "(\\}|%>|\\?\\?>)", endCaptures: { 1: { name: "punctuation.section.block.end.bracket.curly.switch.c" } }, name: "meta.body.switch.c", patterns: [{ include: "#default_statement" }, { include: "#case_statement" }, { include: "$self" }, { include: "#block_innards" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s\\n]*", end: "[\\s\\n]*(?=;)", name: "meta.tail.switch.c", patterns: [{ include: "$self" }] }] }, vararg_ellipses: { match: "(?<!\\.)\\.\\.\\.(?!\\.)", name: "punctuation.vararg-ellipses.c" } }, scopeName: "source.c" });
82
+ var n = [
83
+ e
84
+ ];
85
+ export {
86
+ n as default
87
+ };