@shikijs/langs-precompiled 3.0.0 → 3.2.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 (217) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-html.mjs +1 -1
  6. package/dist/angular-inline-style.mjs +1 -1
  7. package/dist/angular-inline-template.mjs +1 -1
  8. package/dist/angular-ts.mjs +1 -1
  9. package/dist/apache.mjs +1 -1
  10. package/dist/apex.mjs +1 -1
  11. package/dist/apl.mjs +1 -1
  12. package/dist/applescript.mjs +1 -1
  13. package/dist/ara.mjs +1 -1
  14. package/dist/asciidoc.mjs +1 -1
  15. package/dist/asm.mjs +1 -1
  16. package/dist/astro.mjs +1 -1
  17. package/dist/awk.mjs +1 -1
  18. package/dist/ballerina.mjs +1 -1
  19. package/dist/bat.mjs +1 -1
  20. package/dist/beancount.mjs +1 -1
  21. package/dist/berry.mjs +1 -1
  22. package/dist/bicep.mjs +1 -1
  23. package/dist/blade.mjs +3 -1
  24. package/dist/bsl.mjs +1 -1
  25. package/dist/c.mjs +1 -1
  26. package/dist/cadence.mjs +1 -1
  27. package/dist/cairo.mjs +1 -1
  28. package/dist/clarity.mjs +1 -1
  29. package/dist/clojure.mjs +1 -1
  30. package/dist/cmake.mjs +1 -1
  31. package/dist/cobol.mjs +1 -1
  32. package/dist/codeql.mjs +1 -1
  33. package/dist/coffee.mjs +1 -1
  34. package/dist/common-lisp.mjs +1 -1
  35. package/dist/coq.mjs +1 -1
  36. package/dist/cpp-macro.mjs +1 -1
  37. package/dist/cpp.mjs +1 -1
  38. package/dist/crystal.mjs +1 -1
  39. package/dist/csharp.mjs +1 -1
  40. package/dist/css.mjs +1 -1
  41. package/dist/cue.mjs +1 -1
  42. package/dist/cypher.mjs +1 -1
  43. package/dist/d.mjs +1 -1
  44. package/dist/dart.mjs +1 -1
  45. package/dist/dax.mjs +1 -1
  46. package/dist/desktop.mjs +1 -1
  47. package/dist/diff.mjs +1 -1
  48. package/dist/dotenv.mjs +1 -1
  49. package/dist/dream-maker.mjs +1 -1
  50. package/dist/elixir.mjs +1 -1
  51. package/dist/elm.mjs +1 -1
  52. package/dist/emacs-lisp.mjs +1 -1
  53. package/dist/erlang.mjs +1 -1
  54. package/dist/es-tag-css.mjs +1 -1
  55. package/dist/es-tag-glsl.mjs +1 -1
  56. package/dist/es-tag-html.mjs +1 -1
  57. package/dist/es-tag-sql.mjs +1 -1
  58. package/dist/es-tag-xml.mjs +1 -1
  59. package/dist/fennel.mjs +1 -1
  60. package/dist/fish.mjs +1 -1
  61. package/dist/fluent.mjs +1 -1
  62. package/dist/fortran-free-form.mjs +1 -1
  63. package/dist/fsharp.mjs +1 -1
  64. package/dist/gdresource.mjs +1 -1
  65. package/dist/gdscript.mjs +1 -1
  66. package/dist/gdshader.mjs +1 -1
  67. package/dist/genie.mjs +1 -1
  68. package/dist/git-rebase.mjs +1 -1
  69. package/dist/gleam.mjs +1 -1
  70. package/dist/glimmer-js.mjs +1 -1
  71. package/dist/glimmer-ts.mjs +1 -1
  72. package/dist/glsl.mjs +1 -1
  73. package/dist/gnuplot.mjs +1 -1
  74. package/dist/go.mjs +1 -1
  75. package/dist/graphql.mjs +1 -1
  76. package/dist/groovy.mjs +1 -1
  77. package/dist/hack.mjs +1 -1
  78. package/dist/haml.mjs +1 -1
  79. package/dist/handlebars.mjs +1 -1
  80. package/dist/haskell.mjs +1 -1
  81. package/dist/haxe.mjs +1 -1
  82. package/dist/hcl.mjs +1 -1
  83. package/dist/hjson.mjs +1 -1
  84. package/dist/hlsl.mjs +1 -1
  85. package/dist/html-derivative.mjs +1 -1
  86. package/dist/html.mjs +1 -1
  87. package/dist/http.mjs +1 -1
  88. package/dist/hxml.mjs +1 -1
  89. package/dist/hy.mjs +1 -1
  90. package/dist/imba.mjs +1 -3
  91. package/dist/index.mjs +2 -0
  92. package/dist/java.mjs +1 -1
  93. package/dist/javascript.mjs +1 -1
  94. package/dist/jinja-html.mjs +1 -1
  95. package/dist/jinja.mjs +1 -1
  96. package/dist/jison.mjs +1 -1
  97. package/dist/json.mjs +1 -1
  98. package/dist/json5.mjs +1 -1
  99. package/dist/jsonc.mjs +1 -1
  100. package/dist/jsonl.mjs +1 -1
  101. package/dist/jsonnet.mjs +1 -1
  102. package/dist/jsx.mjs +1 -1
  103. package/dist/julia.mjs +1 -2
  104. package/dist/kotlin.mjs +1 -1
  105. package/dist/kusto.mjs +1 -1
  106. package/dist/latex.mjs +1 -1
  107. package/dist/lean.mjs +1 -1
  108. package/dist/less.mjs +1 -1
  109. package/dist/liquid.mjs +1 -1
  110. package/dist/llvm.d.mts +3 -0
  111. package/dist/llvm.mjs +5 -0
  112. package/dist/log.mjs +1 -1
  113. package/dist/lua.mjs +1 -1
  114. package/dist/luau.mjs +1 -1
  115. package/dist/make.mjs +1 -1
  116. package/dist/markdown-vue.mjs +1 -1
  117. package/dist/markdown.mjs +1 -1
  118. package/dist/marko.mjs +1 -1
  119. package/dist/matlab.mjs +1 -1
  120. package/dist/mdc.mjs +1 -1
  121. package/dist/mdx.mjs +1 -1
  122. package/dist/mermaid.mjs +1 -1
  123. package/dist/mipsasm.mjs +1 -1
  124. package/dist/mojo.mjs +1 -1
  125. package/dist/move.mjs +1 -1
  126. package/dist/narrat.mjs +1 -1
  127. package/dist/nextflow.mjs +1 -1
  128. package/dist/nginx.mjs +1 -1
  129. package/dist/nim.mjs +1 -1
  130. package/dist/nix.mjs +1 -1
  131. package/dist/nushell.mjs +1 -1
  132. package/dist/objective-c.mjs +1 -1
  133. package/dist/objective-cpp.mjs +1 -1
  134. package/dist/ocaml.mjs +1 -1
  135. package/dist/pascal.mjs +1 -1
  136. package/dist/perl.mjs +1 -1
  137. package/dist/php.mjs +1 -1
  138. package/dist/plsql.mjs +1 -1
  139. package/dist/po.mjs +1 -1
  140. package/dist/polar.mjs +1 -1
  141. package/dist/postcss.mjs +1 -1
  142. package/dist/powerquery.mjs +1 -1
  143. package/dist/powershell.mjs +1 -1
  144. package/dist/prisma.mjs +1 -1
  145. package/dist/prolog.mjs +1 -1
  146. package/dist/proto.mjs +1 -1
  147. package/dist/pug.mjs +1 -1
  148. package/dist/puppet.mjs +1 -1
  149. package/dist/purescript.mjs +6 -2
  150. package/dist/python.mjs +1 -1
  151. package/dist/qss.mjs +1 -1
  152. package/dist/r.mjs +1 -1
  153. package/dist/racket.mjs +1 -1
  154. package/dist/raku.mjs +1 -1
  155. package/dist/razor.mjs +1 -1
  156. package/dist/reg.mjs +1 -1
  157. package/dist/regexp.mjs +1 -1
  158. package/dist/rel.mjs +1 -1
  159. package/dist/riscv.mjs +1 -1
  160. package/dist/rst.mjs +1 -1
  161. package/dist/ruby.mjs +1 -1
  162. package/dist/rust.mjs +1 -1
  163. package/dist/sas.mjs +1 -1
  164. package/dist/sass.mjs +1 -1
  165. package/dist/scala.mjs +1 -1
  166. package/dist/scheme.mjs +1 -1
  167. package/dist/scss.mjs +1 -1
  168. package/dist/sdbl.mjs +1 -1
  169. package/dist/shaderlab.mjs +1 -1
  170. package/dist/shellscript.mjs +1 -1
  171. package/dist/shellsession.mjs +1 -1
  172. package/dist/smalltalk.mjs +1 -1
  173. package/dist/solidity.mjs +1 -1
  174. package/dist/soy.mjs +1 -1
  175. package/dist/sparql.mjs +1 -1
  176. package/dist/splunk.mjs +1 -1
  177. package/dist/sql.mjs +1 -1
  178. package/dist/ssh-config.mjs +1 -1
  179. package/dist/stata.mjs +1 -1
  180. package/dist/stylus.mjs +1 -1
  181. package/dist/svelte.mjs +1 -1
  182. package/dist/system-verilog.mjs +1 -1
  183. package/dist/systemd.mjs +1 -1
  184. package/dist/talonscript.mjs +1 -1
  185. package/dist/tasl.mjs +1 -1
  186. package/dist/tcl.mjs +1 -1
  187. package/dist/templ.mjs +1 -1
  188. package/dist/terraform.mjs +1 -1
  189. package/dist/tex.mjs +1 -1
  190. package/dist/toml.mjs +1 -1
  191. package/dist/tsx.mjs +1 -1
  192. package/dist/twig.mjs +1 -1
  193. package/dist/typescript.mjs +1 -1
  194. package/dist/typespec.mjs +1 -1
  195. package/dist/typst.mjs +1 -1
  196. package/dist/v.mjs +1 -1
  197. package/dist/vala.mjs +1 -1
  198. package/dist/vb.mjs +1 -1
  199. package/dist/verilog.mjs +1 -1
  200. package/dist/vhdl.mjs +1 -1
  201. package/dist/viml.mjs +1 -1
  202. package/dist/vue-html.mjs +1 -1
  203. package/dist/vue-sfc-style-variable-injection.mjs +1 -1
  204. package/dist/vue.mjs +1 -1
  205. package/dist/vyper.mjs +1 -1
  206. package/dist/wasm.mjs +1 -1
  207. package/dist/wenyan.mjs +1 -1
  208. package/dist/wgsl.mjs +1 -1
  209. package/dist/wikitext.mjs +1 -1
  210. package/dist/wit.d.mts +3 -0
  211. package/dist/wit.mjs +5 -0
  212. package/dist/wolfram.mjs +1 -1
  213. package/dist/xml.mjs +1 -1
  214. package/dist/yaml.mjs +1 -1
  215. package/dist/zenscript.mjs +1 -1
  216. package/dist/zig.mjs +1 -1
  217. package/package.json +6 -4
package/dist/c.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = 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]*|(?<=[\]\)]))\p{space}*(?:(\.)|(->))((?:[a-zA-Z_][a-zA-Z_0-9]*\p{space}*(?:\.|->))*)\p{space}*([a-zA-Z_][a-zA-Z_0-9]*)(\()/dgv,beginCaptures:{"1":{name:"variable.object.c"},"2":{name:"punctuation.separator.dot-access.c"},"3":{name:"punctuation.separator.pointer-access.c"},"4":{patterns:[{match:/\./dgv,name:"punctuation.separator.dot-access.c"},{match:/->/dgv,name:"punctuation.separator.pointer-access.c"},{match:/[a-zA-Z_][a-zA-Z_0-9]*/dgv,name:"variable.object.c"},{match:/[^\n]+/dgv,name:"everything.else.c"}]},"5":{name:"entity.name.function.member.c"},"6":{name:"punctuation.section.arguments.begin.bracket.round.function.member.c"}},end:/\)/dgv,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/dgv,name:"keyword.control.c"},anon_pattern_10:{match:/\b(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t)\b/dgv,name:"support.type.stdint.c"},anon_pattern_11:{match:/\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\b/dgv,name:"support.constant.mac-classic.c"},anon_pattern_12:{match:/\b(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\b/dgv,name:"support.type.mac-classic.c"},anon_pattern_13:{match:/\b([A-Za-z0-9_]+_t)\b/dgv,name:"support.type.posix-reserved.c"},anon_pattern_14:{match:/;/dgv,name:"punctuation.terminator.statement.c"},anon_pattern_15:{match:/,/dgv,name:"punctuation.separator.delimiter.c"},anon_pattern_2:{match:/typedef/dgv,name:"keyword.other.typedef.c"},anon_pattern_3:{match:/\b(const|extern|register|restrict|static|volatile|inline)\b/dgv,name:"storage.modifier.c"},anon_pattern_4:{match:/\bk[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"constant.other.variable.mac-classic.c"},anon_pattern_5:{match:/\bg[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"variable.other.readwrite.global.mac-classic.c"},anon_pattern_6:{match:/\bs[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"variable.other.readwrite.static.mac-classic.c"},anon_pattern_7:{match:/\b(NULL|true|false|TRUE|FALSE)\b/dgv,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/dgv,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/dgv,name:"support.type.pthread.c"},anon_pattern_range_1:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}+))\\2)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\6)[^\\/])*))\\5)((?:(?=(\\*+))\\8)/)))+?|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))((#)\\p{space}*define\\b)\\p{space}+((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\()([^\\(\\)\\\\]+)(\\)))?","dgv",{"hiddenCaptures":[2,5,6,8]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.c punctuation.definition.comment.begin.c"},"3":{name:"comment.block.c"},"4":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,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:/(?<=[\(\,])\p{space}*((?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*(?![\p{L}\p{M}\p{N}\p{Pc}]))\p{space}*/dgv},{match:/,/dgv,name:"punctuation.separator.parameters.c"},{match:/\.\.\./dgv,name:"ellipses.c punctuation.vararg-ellipses.variable.parameter.preprocessor.c"}]},"10":{name:"punctuation.definition.parameters.end.c"}},end:/(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.macro.c",patterns:[{include:"#preprocessor-rule-define-line-contents"}]},anon_pattern_range_2:{begin:/^\p{space}*((#)\p{space}*(error|warning))\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.directive.diagnostic.$3.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.diagnostic.c",patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/"|(?<!\\)(?=\p{space}*\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.c"}},name:"string.quoted.double.c",patterns:[{include:"#line_continuation_character"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/'|(?<!\\)(?=\p{space}*\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.c"}},name:"string.quoted.single.c",patterns:[{include:"#line_continuation_character"}]},{begin:/[^'"]/dgv,end:/(?<!\\)(?=\p{space}*\n)/dgv,name:"string.unquoted.single.c",patterns:[{include:"#line_continuation_character"},{include:"#comments"}]}]},anon_pattern_range_3:{begin:/^\p{space}*((#)\p{space}*(include(?:_next)?|import))\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.directive.$3.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=(?:\/\/|\/\*))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.include.c",patterns:[{include:"#line_continuation_character"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.c"}},name:"string.quoted.double.include.c"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.c"}},name:"string.quoted.other.lt-gt.include.c"}]},anon_pattern_range_4:{begin:/^\p{space}*((#)\p{space}*line)\b/dgv,beginCaptures:{"1":{name:"keyword.control.directive.line.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=(?:\/\/|\/\*))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#strings"},{include:"#numbers"},{include:"#line_continuation_character"}]},anon_pattern_range_5:{begin:/^\p{space}*((#)\p{space}*undef)\b/dgv,beginCaptures:{"1":{name:"keyword.control.directive.undef.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=(?:\/\/|\/\*))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{match:/[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*/dgv,name:"entity.name.function.preprocessor.c"},{include:"#line_continuation_character"}]},anon_pattern_range_6:{begin:/^\p{space}*((#)\p{space}*pragma)\b/dgv,beginCaptures:{"1":{name:"keyword.control.directive.pragma.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=(?:\/\/|\/\*))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.pragma.c",patterns:[{include:"#strings"},{match:/[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\-\$]*/dgv,name:"entity.other.attribute-name.pragma.preprocessor.c"},{include:"#numbers"},{include:"#line_continuation_character"}]},anon_pattern_range_7:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?!\p{space}*(?: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)\p{space}*\()(?=[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\()/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?<=\\))","dgv",{"strategy":"clip_search"}),name:"meta.function.c",patterns:[{include:"#function-innards"}]},anon_pattern_range_8:{begin:/([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\]\)]))?(\[)(?!\])/dgv,beginCaptures:{"1":{name:"variable.object.c"},"2":{name:"punctuation.definition.begin.bracket.square.c"}},end:/\]/dgv,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:/\[\p{space}*\]/dgv,name:"storage.modifier.array.bracket.square.c"},backslash_escapes:{match:/\\(\\|[abefnprtv'"\?]|[0-3][0-7]{0,2}|[4-7]\p{Nd}?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8})/dgv,name:"constant.character.escape.c"},block:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.c"}},end:/\}|(?=\p{space}*#\p{space}*(?:elif|else|endif)\b)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.c"}},name:"meta.block.c",patterns:[{include:"#block_innards"}]}]},block_comment:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.c"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.c"}},name:"comment.block.c"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.c"}},end:/\*\//dgv,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:/*@__PURE__*/ new EmulatedRegExp("(?=\\p{space})(?<!else|new|return)(?<=[\\p{L}\\p{M}\\p{N}\\p{Pc}])\\p{space}+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)((?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\4)|::)+))\\3)|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\]))\\p{space}*(\\()","dgv",{"hiddenCaptures":[3,4]}),beginCaptures:{"1":{name:"variable.other.c"},"2":{name:"punctuation.section.parens.begin.bracket.round.initialization.c"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.initialization.c"}},name:"meta.initialization.c",patterns:[{include:"#function-call-innards"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.c"}},end:/\}|(?=\p{space}*#\p{space}*(?:elif|else|endif)\b)/dgv,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:/*@__PURE__*/ new EmulatedRegExp("(?!(?: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)\\p{space}*\\()(?=(?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\2)|::)+))\\1)\\p{space}*\\(|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\])\\p{space}*\\()","dgv",{"hiddenCaptures":[1,2]}),end:/(?<=\))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"meta.function-call.c",patterns:[{include:"#function-call-innards"}]},case_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=((?:(?:(?=((?<!\\p{space})\\p{space}+))\\3)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\7)[^\\/])*))\\6)((?:(?=(\\*+))\\9)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))\\2))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])case(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,3,6,7,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.c punctuation.definition.comment.begin.c"},"3":{name:"comment.block.c"},"4":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]},"5":{name:"keyword.control.case.c"}},end:/(:)/dgv,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:/*@__PURE__*/ new EmulatedRegExp("^(?:(?=(\\p{space}*))\\1)(//[\\!\\/]+)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.documentation.c"}},end:/(?<=\n)(?<!\\\n)/dgv,name:"comment.line.double-slash.documentation.c",patterns:[{include:"#line_continuation_character"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.italic.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.bold.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.inline.raw.string.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:c|p))\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.c"}]},"3":{name:"variable.parameter.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?\p{space}*(?:in|out)\p{space}*)+)\])?\p{space}+(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc"}]},{captures:{"1":{name:"punctuation.definition.comment.begin.documentation.c"},"2":{patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.italic.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.bold.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.inline.raw.string.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:c|p))\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.c"}]},"3":{name:"variable.parameter.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?\p{space}*(?:in|out)\p{space}*)+)\])?\p{space}+(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc"}]},"3":{name:"punctuation.definition.comment.end.documentation.c"}},match:/(\/\*[\!\*]+(?=\p{space}))([^\n]+)([\!\*]*\*\/)/dgv,name:"comment.block.documentation.c"},{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)/\\*[\\!\\*]+(?:(?:\\n|(?=\\n?$))|(?=\\p{space})))","dgv",{"hiddenCaptures":[2]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.documentation.c"}},end:/([\!\*]*\*\/)/dgv,endCaptures:{"1":{name:"punctuation.definition.comment.end.documentation.c"}},name:"comment.block.documentation.c",patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.italic.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.bold.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.inline.raw.string.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:c|p))\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.c"}]},"3":{name:"variable.parameter.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?\p{space}*(?:in|out)\p{space}*)+)\])?\p{space}+(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc"}]},{captures:{"1":{name:"meta.toc-list.banner.block.c"}},match:/^\/\* =(\p{space}*[^\n]*?)\p{space}*= \*\/(?=\n?$)\n?/dgv,name:"comment.block.banner.c"},{begin:/(\/\*)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.begin.c"}},end:/(\*\/)/dgv,endCaptures:{"1":{name:"punctuation.definition.comment.end.c"}},name:"comment.block.c"},{captures:{"1":{name:"meta.toc-list.banner.line.c"}},match:/^\/\/ =(\p{space}*[^\n]*?)\p{space}*=(?=\n?$)\n?/dgv,name:"comment.line.banner.c"},{begin:/((?:^[ \t]+)?)(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.c"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/(\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.c"}},end:/(?=\n)/dgv,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:/*@__PURE__*/ new EmulatedRegExp("((?:(?=((?:(?:(?=((?<!\\p{space})\\p{space}+))\\3)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\7)[^\\/])*))\\6)((?:(?=(\\*+))\\9)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))\\2))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])default(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,3,6,7,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.c punctuation.definition.comment.begin.c"},"3":{name:"comment.block.c"},"4":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]},"5":{name:"keyword.control.default.c"}},end:/(:)/dgv,endCaptures:{"1":{name:"punctuation.separator.colon.case.default.c"}},name:"meta.conditional.case.c",patterns:[{include:"#evaluation_context"},{include:"#c_conditional_context"}]},disabled:{begin:/^\p{space}*#\p{space}*if(n?def)?\b[^\n]*(?=\n?$)/dgv,end:/^\p{space}*#\p{space}*endif\b/dgv,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:/*@__PURE__*/ new EmulatedRegExp("(?!(?: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)\\p{space}*\\()((?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\3)|::)+))\\2)|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\]))\\p{space}*(\\()","dgv",{"hiddenCaptures":[2,3]}),beginCaptures:{"1":{name:"entity.name.function.c"},"2":{name:"punctuation.section.arguments.begin.bracket.round.c"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.c"}},patterns:[{include:"#function-call-innards"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/\)/dgv,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:/*@__PURE__*/ new EmulatedRegExp("(?!(?: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)\\p{space}*\\()((?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\3)|::)+))\\2)|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\]))\\p{space}*(\\()","dgv",{"hiddenCaptures":[2,3]}),beginCaptures:{"1":{name:"entity.name.function.c"},"2":{name:"punctuation.section.parameters.begin.bracket.round.c"}},end:/\)/dgv,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:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/\)/dgv,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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\4)[^\\/])*))\\3)((?:(?=(\\*+))\\6)/))","dgv",{"hiddenCaptures":[3,4,6]})},{captures:{"1":{name:"comment.block.c punctuation.definition.comment.begin.c"},"2":{name:"comment.block.c"},"3":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(/\\*)((?:(?=((?:[^\\*]|(?:(?=((?:\\*)+))\\4)[^\\/])*))\\3)((?:(?=((?:\\*)+))\\6)/))","dgv",{"hiddenCaptures":[3,4,6]})}]},{captures:{"1":{name:"comment.block.c punctuation.definition.comment.begin.c"},"2":{name:"comment.block.c"},"3":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(/\\*)((?:(?=((?:[^\\*]|(?:(?=((?:\\*)+))\\4)[^\\/])*))\\3)((?:(?=((?:\\*)+))\\6)/))","dgv",{"hiddenCaptures":[3,4,6]})}]},line_comment:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(//)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.c"}},end:/(?<=\n)(?<!\\\n)/dgv,endCaptures:{},name:"comment.line.double-slash.c",patterns:[{include:"#line_continuation_character"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(//)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.c"}},end:/(?<=\n)(?<!\\\n)/dgv,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/dgv}]},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_][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=\]|\)))\p{space}*)(?:((?:\.\*|\.))|((?:->\*|->)))/dgv}]},"5":{name:"variable.other.member.c"}},match:/((?:[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=\]|\)))\p{space}*)(?:((?:\.\*|\.))|((?:->\*|->)))((?:[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*(?:(?:\.\*|\.)|(?:->\*|->))\p{space}*)*)\p{space}*(\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_][\p{L}\p{M}\p{N}\p{Pc}]*\b(?!\())/dgv},method_access:{begin:/((?:[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=\]|\)))\p{space}*)(?:((?:\.\*|\.))|((?:->\*|->)))((?:[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*(?:(?:\.\*|\.)|(?:->\*|->))\p{space}*)*)\p{space}*([a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*)(\()/dgv,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_][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=\]|\)))\p{space}*)(?:((?:\.\*|\.))|((?:->\*|->)))/dgv}]},"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:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.arguments.end.bracket.round.function.member.c"}},patterns:[{include:"#function-call-innards"}]},numbers:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,end:/(?=\n?$)/dgv,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])/dgv,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])/dgv,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])/dgv,name:"punctuation.separator.constant.numeric"}]},"12":{name:"keyword.other.unit.suffix.floating-point.c"}},match:/(0[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](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"2":{name:"constant.numeric.decimal.c",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,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])/dgv,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])/dgv,name:"punctuation.separator.constant.numeric"}]},"12":{name:"keyword.other.unit.suffix.floating-point.c"}},match:/((?=[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](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.binary.c"},"2":{name:"constant.numeric.binary.c",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric"}]},"3":{name:"punctuation.separator.constant.numeric"},"4":{name:"keyword.other.unit.suffix.integer.c"}},match:/(0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.octal.c"},"2":{name:"constant.numeric.octal.c",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric"}]},"3":{name:"punctuation.separator.constant.numeric"},"4":{name:"keyword.other.unit.suffix.integer.c"}},match:/(0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.hexadecimal.c"},"2":{name:"constant.numeric.hexadecimal.c",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,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])/dgv,name:"punctuation.separator.constant.numeric"}]},"9":{name:"keyword.other.unit.suffix.integer.c"}},match:/(0[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])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"2":{name:"constant.numeric.decimal.c",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,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])/dgv,name:"punctuation.separator.constant.numeric"}]},"9":{name:"keyword.other.unit.suffix.integer.c"}},match:/((?=[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])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{match:/(?:(?:[0-9a-zA-Z_\.]|')|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:(?:[0-9a-zA-Z_\.]|')|(?<=[eEpP])[\+\-])*/dgv},operators:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\$])(sizeof)(?![\p{L}\p{M}\p{N}\p{Pc}\$])/dgv,name:"keyword.operator.sizeof.c"},{match:/--/dgv,name:"keyword.operator.decrement.c"},{match:/\+\+/dgv,name:"keyword.operator.increment.c"},{match:/%=|\+=|-=|\*=|(?<!\()\/=/dgv,name:"keyword.operator.assignment.compound.c"},{match:/&=|\^=|<<=|>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.c"},{match:/<<|>>/dgv,name:"keyword.operator.bitwise.shift.c"},{match:/!=|<=|>=|==|<|>/dgv,name:"keyword.operator.comparison.c"},{match:/&&|!|\|\|/dgv,name:"keyword.operator.logical.c"},{match:/&|\||\^|~/dgv,name:"keyword.operator.c"},{match:/=/dgv,name:"keyword.operator.assignment.c"},{match:/%|\*|\/|-|\+/dgv,name:"keyword.operator.c"},{begin:/(\?)/dgv,beginCaptures:{"1":{name:"keyword.operator.ternary.c"}},end:/(:)/dgv,endCaptures:{"1":{name:"keyword.operator.ternary.c"}},patterns:[{include:"#function-call-innards"},{include:"$self"}]}]},parens:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.c"}},name:"meta.parens.c",patterns:[{include:"$self"}]},"parens-block":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.c"}},name:"meta.parens.block.c",patterns:[{include:"#block_innards"},{match:/(?<!:):(?!:)/dgv,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:/^\p{space}*(((#)\p{space}*pragma\p{space}+mark)\p{space}+([^\n]*))/dgv,name:"meta.section.c"},predefined_macros:{patterns:[{captures:{"1":{name:"entity.name.other.preprocessor.macro.predefined.$1.c"}},match:/*@__PURE__*/ new EmulatedRegExp("\\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","dgv",{"lazyCompile":true})},{match:/\b__([A-Z_]+)__\b/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$1.c"}]},"preprocessor-rule-conditional":{patterns:[{begin:/^\p{space}*((#)\p{space}*if(?:n?def)?\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,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:/^\p{space}*((#)\p{space}*elif\b)/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"$self"}]},{captures:{"0":{name:"invalid.illegal.stray-$1.c"}},match:/^\p{space}*#\p{space}*(else|elif|endif)\b/dgv}]},"preprocessor-rule-conditional-block":{patterns:[{begin:/^\p{space}*((#)\p{space}*if(?:n?def)?\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,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:/^\p{space}*((#)\p{space}*elif\b)/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#block_innards"}]},{captures:{"0":{name:"invalid.illegal.stray-$1.c"}},match:/^\p{space}*#\p{space}*(else|elif|endif)\b/dgv}]},"preprocessor-rule-conditional-line":{patterns:[{match:/\bdefined\b\p{space}*(?=\n?$)|\bdefined\b(?=\p{space}*\(*\p{space}*(?!defined\b)[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*\b\p{space}*\)*\p{space}*(?:\n|\/\/|\/\*|\?|:|&&|\|\||\\\p{space}*\n))/dgv,name:"keyword.control.directive.conditional.c"},{match:/\bdefined\b/dgv,name:"invalid.illegal.macro-name.c"},{include:"#comments"},{include:"#strings"},{include:"#numbers"},{begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.c"}},end:/:/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.c"}},patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#operators"},{match:/\b(NULL|true|false|TRUE|FALSE)\b/dgv,name:"constant.language.c"},{match:/[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*/dgv,name:"entity.name.function.preprocessor.c"},{include:"#line_continuation_character"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/\)|(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.c"}},patterns:[{include:"#preprocessor-rule-conditional-line"}]}]},"preprocessor-rule-define-line-blocks":{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.c"}},end:/\}|(?=\p{space}*#\p{space}*(?:elif|else|endif)\b)|(?<!\\)(?=\p{space}*\n)/dgv,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:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.c"}},end:/\}|(?=\p{space}*#\p{space}*(?:elif|else|endif)\b)|(?<!\\)(?=\p{space}*\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.c"}},name:"meta.block.c",patterns:[{include:"#preprocessor-rule-define-line-blocks"}]},{match:/\(/dgv,name:"punctuation.section.parens.begin.bracket.round.c"},{match:/\)/dgv,name:"punctuation.section.parens.end.bracket.round.c"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?!(?: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)\\p{space}*\\()(?=(?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\2)|::)+))\\1)\\p{space}*\\(|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\])\\p{space}*\\()","dgv",{"hiddenCaptures":[1,2]}),end:/(?<=\))(?![\p{L}\p{M}\p{N}\p{Pc}])|(?<!\\)(?=\p{space}*\n)/dgv,name:"meta.function.c",patterns:[{include:"#preprocessor-rule-define-line-functions"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/"|(?<!\\)(?=\p{space}*\n)/dgv,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:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/'|(?<!\\)(?=\p{space}*\n)/dgv,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:/*@__PURE__*/ new EmulatedRegExp("(?!(?: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)\\p{space}*\\()((?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\3)|::)+))\\2)|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\]))\\p{space}*(\\()","dgv",{"hiddenCaptures":[2,3]}),beginCaptures:{"1":{name:"entity.name.function.c"},"2":{name:"punctuation.section.arguments.begin.bracket.round.c"}},end:/(\))|(?<!\\)(?=\p{space}*\n)/dgv,endCaptures:{"1":{name:"punctuation.section.arguments.end.bracket.round.c"}},patterns:[{include:"#preprocessor-rule-define-line-functions"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/(\))|(?<!\\)(?=\p{space}*\n)/dgv,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:/^\p{space}*((#)\p{space}*if\b)(?=\p{space}*\(*\b0+\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?=\n)/dgv,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:/^\p{space}*((#)\p{space}*elif\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*(?:elif|else|endif)\b))/dgv,patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"$self"}]},{begin:/\n/dgv,contentName:"comment.block.preprocessor.if-branch.c",end:/(?=^\p{space}*((#)\p{space}*(?:else|elif|endif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-block":{patterns:[{begin:/^\p{space}*((#)\p{space}*if\b)(?=\p{space}*\(*\b0+\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?=\n)/dgv,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:/^\p{space}*((#)\p{space}*elif\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*(?:elif|else|endif)\b))/dgv,patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#block_innards"}]},{begin:/\n/dgv,contentName:"comment.block.preprocessor.if-branch.in-block.c",end:/(?=^\p{space}*((#)\p{space}*(?:else|elif|endif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-elif":{begin:/^\p{space}*((#)\p{space}*elif\b)(?=\p{space}*\(*\b0+\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*(?:elif|else|endif)\b))/dgv,patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:/\n/dgv,contentName:"comment.block.preprocessor.elif-branch.c",end:/(?=^\p{space}*((#)\p{space}*(?:else|elif|endif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]},"preprocessor-rule-enabled":{patterns:[{begin:/^\p{space}*((#)\p{space}*if\b)(?=\p{space}*\(*\b0*1\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,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:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:/^\p{space}*((#)\p{space}*else\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/^\p{space}*((#)\p{space}*elif\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*(?:else|elif|endif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/\n/dgv,end:/(?=^\p{space}*((#)\p{space}*(?:else|elif|endif)\b))/dgv,patterns:[{include:"$self"}]}]}]},"preprocessor-rule-enabled-block":{patterns:[{begin:/^\p{space}*((#)\p{space}*if\b)(?=\p{space}*\(*\b0*1\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:/^\p{space}*((#)\p{space}*else\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/^\p{space}*((#)\p{space}*elif\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*(?:else|elif|endif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/\n/dgv,end:/(?=^\p{space}*((#)\p{space}*(?:else|elif|endif)\b))/dgv,patterns:[{include:"#block_innards"}]}]}]},"preprocessor-rule-enabled-elif":{begin:/^\p{space}*((#)\p{space}*elif\b)(?=\p{space}*\(*\b0*1\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:/\n/dgv,end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{begin:/^\p{space}*((#)\p{space}*(else)\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/^\p{space}*((#)\p{space}*(elif)\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*(?:else|elif|endif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{include:"$self"}]}]},"preprocessor-rule-enabled-elif-block":{begin:/^\p{space}*((#)\p{space}*elif\b)(?=\p{space}*\(*\b0*1\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{begin:/(?=[^\n])(?!\/\/|\/\*(?![^\n]*\\\p{space}*\n))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:/\n/dgv,end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{begin:/^\p{space}*((#)\p{space}*(else)\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/^\p{space}*((#)\p{space}*(elif)\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*(?:else|elif|endif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{include:"#block_innards"}]}]},"preprocessor-rule-enabled-else":{begin:/^\p{space}*((#)\p{space}*else\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"$self"}]},"preprocessor-rule-enabled-else-block":{begin:/^\p{space}*((#)\p{space}*else\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"#block_innards"}]},probably_a_parameter:{captures:{"1":{name:"variable.parameter.probably.c"}},match:/(?<=(?:[a-zA-Z_0-9] |[\&\*\>\]\)]))\p{space}*([a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=(?:\[\]\p{space}*)?(?:,|\)))/dgv},static_assert:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=((?:(?:(?=((?<!\\p{space})\\p{space}+))\\3)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\7)[^\\/])*))\\6)((?:(?=(\\*+))\\9)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))\\2))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])static_assert|_Static_assert(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?=((?:(?:(?=((?<!\\p{space})\\p{space}+))\\13)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\17)[^\\/])*))\\16)((?:(?=(\\*+))\\19)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))\\12))(\\()","dgv",{"hiddenCaptures":[2,3,6,7,9,12,13,16,17,19]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.c punctuation.definition.comment.begin.c"},"3":{name:"comment.block.c"},"4":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]},"10":{name:"punctuation.section.arguments.begin.bracket.round.static_assert.c"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.arguments.end.bracket.round.static_assert.c"}},patterns:[{begin:/(,)\p{space}*(?=(?:L|u8|u|U\p{space}*")?)/dgv,beginCaptures:{"1":{name:"punctuation.separator.delimiter.comma.c"}},end:/(?=\))/dgv,name:"meta.static_assert.message.c",patterns:[{include:"#string_context"}]},{include:"#evaluation_context"}]},storage_types:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:unsigned|signed|double|_Bool|short|float|long|void|char|bool|int)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.built-in.primitive.c"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?: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)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.built-in.c"},{match:/\b(enum|struct|union)\b/dgv,name:"storage.type.$1.c"},{begin:/(\b(?:__asm__|asm)\b)\p{space}*((?:volatile)?)/dgv,beginCaptures:{"1":{name:"storage.type.asm.c"},"2":{name:"storage.modifier.c"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}+))\\2)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\6)[^\\/])*))\\5)((?:(?=(\\*+))\\8)/)))+?|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))(?:\\n|(?=\\n?$))","dgv",{"hiddenCaptures":[2,5,6,8]})},{include:"#comments"},{begin:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=(\\p{space}+))\\3)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\7)[^\\/])*))\\6)((?:(?=(\\*+))\\9)/)))+?|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))\\()","dgv",{"hiddenCaptures":[3,6,7,9]}),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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.parens.end.bracket.round.assembly.c"}},patterns:[{begin:/(R?)(")/dgv,beginCaptures:{"1":{name:"meta.encoding.c"},"2":{name:"punctuation.definition.string.begin.assembly.c"}},contentName:"meta.embedded.assembly.c",end:/(")/dgv,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:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.section.parens.begin.bracket.round.assembly.inner.c"}},end:/(\))/dgv,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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\[((?:(?:(?:(?=(\\p{space}+))\\2)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\6)[^\\/])*))\\5)((?:(?=(\\*+))\\8)/)))+?|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*)((?:(?:(?:(?=(\\p{space}+))\\11)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\15)[^\\/])*))\\14)((?:(?=(\\*+))\\17)/)))+?|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))\\]","dgv",{"hiddenCaptures":[2,5,6,8,11,14,15,17]})},{match:/:/dgv,name:"punctuation.separator.delimiter.colon.assembly.c"},{include:"#comments"}]}]}]},string_escaped_char:{patterns:[{match:/\\(\\|[abefnprtv'"\?]|[0-3]\p{Nd}{0,2}|[4-7]\p{Nd}?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8})/dgv,name:"constant.character.escape.c"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unknown-escape.c"}]},string_placeholder:{patterns:[{match:/%(\p{Nd}+\$)?[\#0\- \+']*[\,\;\:_]?((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?(\.((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?)?(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?[diouxXDOUeEfFgGaACcSspn\%]/dgv,name:"constant.other.placeholder.c"},{captures:{"1":{name:"invalid.illegal.placeholder.c"}},match:/(%)(?!"\p{space}*(PRI|SCN))/dgv}]},strings:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/"/dgv,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:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/'/dgv,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:/*@__PURE__*/ new EmulatedRegExp("((?:(?=((?:(?:(?=((?<!\\p{space})\\p{space}+))\\3)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\7)[^\\/])*))\\6)((?:(?=(\\*+))\\9)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))\\2))(\\()","dgv",{"hiddenCaptures":[2,3,6,7,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.c punctuation.definition.comment.begin.c"},"3":{name:"comment.block.c"},"4":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]},"5":{name:"punctuation.section.parens.begin.bracket.round.conditional.switch.c"}},end:/(\))/dgv,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:/*@__PURE__*/ new EmulatedRegExp("(((?:(?=((?:(?:(?=((?<!\\p{space})\\p{space}+))\\4)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\8)[^\\/])*))\\7)((?:(?=(\\*+))\\10)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))\\3))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])switch(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))","dgv",{"hiddenCaptures":[3,4,7,8,10]}),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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]},"6":{name:"keyword.control.switch.c"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,name:"meta.block.switch.c",patterns:[{begin:/ ?/dgvy,end:/((?:\{|<%|\?\?<|(?=;)))/dgv,endCaptures:{"1":{name:"punctuation.section.block.begin.bracket.curly.switch.c"}},name:"meta.head.switch.c",patterns:[{include:"#switch_conditional_parentheses"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,end:/(\}|%>|\?\?>)/dgv,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:/(?<=\}|%>|\?\?>)[\p{space}\n]*/dgv,end:/[\p{space}\n]*(?=;)/dgv,name:"meta.tail.switch.c",patterns:[{include:"$self"}]}]},vararg_ellipses:{match:/(?<!\.)\.\.\.(?!\.)/dgv,name:"punctuation.vararg-ellipses.c"}},scopeName:"source.c",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = 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]*|(?<=[\]\)]))\p{space}*(?:(\.)|(->))((?:[a-zA-Z_][a-zA-Z_0-9]*\p{space}*(?:\.|->))*)\p{space}*([a-zA-Z_][a-zA-Z_0-9]*)(\()/dgv,beginCaptures:{"1":{name:"variable.object.c"},"2":{name:"punctuation.separator.dot-access.c"},"3":{name:"punctuation.separator.pointer-access.c"},"4":{patterns:[{match:/\./dgv,name:"punctuation.separator.dot-access.c"},{match:/->/dgv,name:"punctuation.separator.pointer-access.c"},{match:/[a-zA-Z_][a-zA-Z_0-9]*/dgv,name:"variable.object.c"},{match:/[^\n]+/dgv,name:"everything.else.c"}]},"5":{name:"entity.name.function.member.c"},"6":{name:"punctuation.section.arguments.begin.bracket.round.function.member.c"}},end:/\)/dgv,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/dgv,name:"keyword.control.c"},anon_pattern_10:{match:/\b(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t)\b/dgv,name:"support.type.stdint.c"},anon_pattern_11:{match:/\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\b/dgv,name:"support.constant.mac-classic.c"},anon_pattern_12:{match:/\b(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\b/dgv,name:"support.type.mac-classic.c"},anon_pattern_13:{match:/\b([A-Za-z0-9_]+_t)\b/dgv,name:"support.type.posix-reserved.c"},anon_pattern_14:{match:/;/dgv,name:"punctuation.terminator.statement.c"},anon_pattern_15:{match:/,/dgv,name:"punctuation.separator.delimiter.c"},anon_pattern_2:{match:/typedef/dgv,name:"keyword.other.typedef.c"},anon_pattern_3:{match:/\b(const|extern|register|restrict|static|volatile|inline)\b/dgv,name:"storage.modifier.c"},anon_pattern_4:{match:/\bk[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"constant.other.variable.mac-classic.c"},anon_pattern_5:{match:/\bg[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"variable.other.readwrite.global.mac-classic.c"},anon_pattern_6:{match:/\bs[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"variable.other.readwrite.static.mac-classic.c"},anon_pattern_7:{match:/\b(NULL|true|false|TRUE|FALSE)\b/dgv,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/dgv,name:"support.type.sys-types.c"},anon_pattern_9:{match:/\b(pthread_(?:attr_t|cond_t|condattr_t|mutex_t|mutexattr_t|once_t|rwlock_t|rwlockattr_t|t|key_t))\b/dgv,name:"support.type.pthread.c"},anon_pattern_range_1:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=(\\p{space}+))\\2)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\6)[^\\/])*))\\5)((?:(?=(\\*+))\\8)/)))+?|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))((#)\\p{space}*define\\b)\\p{space}+((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\()([^\\(\\)\\\\]+)(\\)))?","dgv",{"hiddenCaptures":[2,5,6,8]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.c punctuation.definition.comment.begin.c"},"3":{name:"comment.block.c"},"4":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,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:/(?<=[\(\,])\p{space}*((?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*(?![\p{L}\p{M}\p{N}\p{Pc}]))\p{space}*/dgv},{match:/,/dgv,name:"punctuation.separator.parameters.c"},{match:/\.\.\./dgv,name:"ellipses.c punctuation.vararg-ellipses.variable.parameter.preprocessor.c"}]},"10":{name:"punctuation.definition.parameters.end.c"}},end:/(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.macro.c",patterns:[{include:"#preprocessor-rule-define-line-contents"}]},anon_pattern_range_2:{begin:/^\p{space}*((#)\p{space}*(error|warning))\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.directive.diagnostic.$3.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.diagnostic.c",patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/"|(?<!\\)(?=\p{space}*\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.c"}},name:"string.quoted.double.c",patterns:[{include:"#line_continuation_character"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/'|(?<!\\)(?=\p{space}*\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.c"}},name:"string.quoted.single.c",patterns:[{include:"#line_continuation_character"}]},{begin:/[^'"]/dgv,end:/(?<!\\)(?=\p{space}*\n)/dgv,name:"string.unquoted.single.c",patterns:[{include:"#line_continuation_character"},{include:"#comments"}]}]},anon_pattern_range_3:{begin:/^\p{space}*((#)\p{space}*(i(?:nclude(?:_next)?|mport)))\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.directive.$3.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=\/[\/\*])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.include.c",patterns:[{include:"#line_continuation_character"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.c"}},name:"string.quoted.double.include.c"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.c"}},name:"string.quoted.other.lt-gt.include.c"}]},anon_pattern_range_4:{begin:/^\p{space}*((#)\p{space}*line)\b/dgv,beginCaptures:{"1":{name:"keyword.control.directive.line.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=\/[\/\*])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#strings"},{include:"#numbers"},{include:"#line_continuation_character"}]},anon_pattern_range_5:{begin:/^\p{space}*((#)\p{space}*undef)\b/dgv,beginCaptures:{"1":{name:"keyword.control.directive.undef.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=\/[\/\*])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{match:/[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*/dgv,name:"entity.name.function.preprocessor.c"},{include:"#line_continuation_character"}]},anon_pattern_range_6:{begin:/^\p{space}*((#)\p{space}*pragma)\b/dgv,beginCaptures:{"1":{name:"keyword.control.directive.pragma.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=\/[\/\*])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.pragma.c",patterns:[{include:"#strings"},{match:/[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\-\$]*/dgv,name:"entity.other.attribute-name.pragma.preprocessor.c"},{include:"#numbers"},{include:"#line_continuation_character"}]},anon_pattern_range_7:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?!\p{space}*(?: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)\p{space}*\()(?=[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\()/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?<=\\))","dgv",{"strategy":"clip_search"}),name:"meta.function.c",patterns:[{include:"#function-innards"}]},anon_pattern_range_8:{begin:/([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\]\)]))?(\[)(?!\])/dgv,beginCaptures:{"1":{name:"variable.object.c"},"2":{name:"punctuation.definition.begin.bracket.square.c"}},end:/\]/dgv,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:/\[\p{space}*\]/dgv,name:"storage.modifier.array.bracket.square.c"},backslash_escapes:{match:/\\([\\abefnprtv'"\?]|[0-3][0-7]{0,2}|[4-7]\p{Nd}?|x\p{AHex}{0,2}|u\p{AHex}{0,4}|U\p{AHex}{0,8})/dgv,name:"constant.character.escape.c"},block:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.c"}},end:/\}|(?=\p{space}*#\p{space}*e(?:lif|lse|ndif)\b)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.c"}},name:"meta.block.c",patterns:[{include:"#block_innards"}]}]},block_comment:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.c"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.c"}},name:"comment.block.c"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.c"}},end:/\*\//dgv,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:/*@__PURE__*/ new EmulatedRegExp("(?=\\p{space})(?<!else|new|return)(?<=[\\p{L}\\p{M}\\p{N}\\p{Pc}])\\p{space}+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)((?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\4)|::)+))\\3)|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\]))\\p{space}*(\\()","dgv",{"hiddenCaptures":[3,4]}),beginCaptures:{"1":{name:"variable.other.c"},"2":{name:"punctuation.section.parens.begin.bracket.round.initialization.c"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.initialization.c"}},name:"meta.initialization.c",patterns:[{include:"#function-call-innards"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.c"}},end:/\}|(?=\p{space}*#\p{space}*e(?:lif|lse|ndif)\b)/dgv,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:/*@__PURE__*/ new EmulatedRegExp("(?!(?: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)\\p{space}*\\()(?=(?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\2)|::)+))\\1)\\p{space}*\\(|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\])\\p{space}*\\()","dgv",{"hiddenCaptures":[1,2]}),end:/(?<=\))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"meta.function-call.c",patterns:[{include:"#function-call-innards"}]},case_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=((?:(?:(?:(?=((?<!\\p{space})\\p{space}+))\\3)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\7)[^\\/])*))\\6)((?:(?=(\\*+))\\9)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$)))))\\2))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])case(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,3,6,7,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.c punctuation.definition.comment.begin.c"},"3":{name:"comment.block.c"},"4":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]},"5":{name:"keyword.control.case.c"}},end:/(:)/dgv,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:/*@__PURE__*/ new EmulatedRegExp("^(?:(?=(\\p{space}*))\\1)(//[\\!\\/]+)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.documentation.c"}},end:/(?<=\n)(?<!\\\n)/dgv,name:"comment.line.double-slash.documentation.c",patterns:[{include:"#line_continuation_character"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.italic.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.bold.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.inline.raw.string.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|[bc]|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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.c"}]},"3":{name:"variable.parameter.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?\p{space}*(?:in|out)\p{space}*)+)\])?\p{space}+(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc"}]},{captures:{"1":{name:"punctuation.definition.comment.begin.documentation.c"},"2":{patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.italic.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.bold.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.inline.raw.string.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|[bc]|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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.c"}]},"3":{name:"variable.parameter.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?\p{space}*(?:in|out)\p{space}*)+)\])?\p{space}+(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc"}]},"3":{name:"punctuation.definition.comment.end.documentation.c"}},match:/(\/\*[\!\*]+(?=\p{space}))([^\n]+)([\!\*]*\*\/)/dgv,name:"comment.block.documentation.c"},{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)/\\*[\\!\\*]+(?:(?:\\n|(?=\\n?$))|(?=\\p{space})))","dgv",{"hiddenCaptures":[2]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.documentation.c"}},end:/([\!\*]*\*\/)/dgv,endCaptures:{"1":{name:"punctuation.definition.comment.end.documentation.c"}},name:"comment.block.documentation.c",patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.italic.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.bold.doxygen.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{name:"markup.inline.raw.string.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|[bc]|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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{captures:{"1":{name:"storage.type.class.doxygen.c"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.c"}]},"3":{name:"variable.parameter.c"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?\p{space}*(?:in|out)\p{space}*)+)\])?\p{space}+(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?: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(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.c"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc"}]},{captures:{"1":{name:"meta.toc-list.banner.block.c"}},match:/^\/\* =(\p{space}*[^\n]*?)\p{space}*= \*\/(?=\n?$)\n?/dgv,name:"comment.block.banner.c"},{begin:/(\/\*)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.begin.c"}},end:/(\*\/)/dgv,endCaptures:{"1":{name:"punctuation.definition.comment.end.c"}},name:"comment.block.c"},{captures:{"1":{name:"meta.toc-list.banner.line.c"}},match:/^\/\/ =(\p{space}*[^\n]*?)\p{space}*=(?=\n?$)\n?/dgv,name:"comment.line.banner.c"},{begin:/((?:^[ \t]+)?)(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.c"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/(\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.c"}},end:/(?=\n)/dgv,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:/*@__PURE__*/ new EmulatedRegExp("((?:(?=((?:(?:(?:(?=((?<!\\p{space})\\p{space}+))\\3)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\7)[^\\/])*))\\6)((?:(?=(\\*+))\\9)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$)))))\\2))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])default(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,3,6,7,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.c punctuation.definition.comment.begin.c"},"3":{name:"comment.block.c"},"4":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]},"5":{name:"keyword.control.default.c"}},end:/(:)/dgv,endCaptures:{"1":{name:"punctuation.separator.colon.case.default.c"}},name:"meta.conditional.case.c",patterns:[{include:"#evaluation_context"},{include:"#c_conditional_context"}]},disabled:{begin:/^\p{space}*#\p{space}*if(n?def)?\b[^\n]*(?=\n?$)/dgv,end:/^\p{space}*#\p{space}*endif\b/dgv,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:/*@__PURE__*/ new EmulatedRegExp("(?!(?: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)\\p{space}*\\()((?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\3)|::)+))\\2)|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\]))\\p{space}*(\\()","dgv",{"hiddenCaptures":[2,3]}),beginCaptures:{"1":{name:"entity.name.function.c"},"2":{name:"punctuation.section.arguments.begin.bracket.round.c"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.c"}},patterns:[{include:"#function-call-innards"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/\)/dgv,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:/*@__PURE__*/ new EmulatedRegExp("(?!(?: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)\\p{space}*\\()((?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\3)|::)+))\\2)|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\]))\\p{space}*(\\()","dgv",{"hiddenCaptures":[2,3]}),beginCaptures:{"1":{name:"entity.name.function.c"},"2":{name:"punctuation.section.parameters.begin.bracket.round.c"}},end:/\)/dgv,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:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/\)/dgv,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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\4)[^\\/])*))\\3)((?:(?=(\\*+))\\6)/))","dgv",{"hiddenCaptures":[3,4,6]})},{captures:{"1":{name:"comment.block.c punctuation.definition.comment.begin.c"},"2":{name:"comment.block.c"},"3":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\4)[^\\/])*))\\3)((?:(?=(\\*+))\\6)/))","dgv",{"hiddenCaptures":[3,4,6]})}]},{captures:{"1":{name:"comment.block.c punctuation.definition.comment.begin.c"},"2":{name:"comment.block.c"},"3":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\4)[^\\/])*))\\3)((?:(?=(\\*+))\\6)/))","dgv",{"hiddenCaptures":[3,4,6]})}]},line_comment:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(//)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.c"}},end:/(?<=\n)(?<!\\\n)/dgv,endCaptures:{},name:"comment.line.double-slash.c",patterns:[{include:"#line_continuation_character"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(//)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.c"}},end:/(?<=\n)(?<!\\\n)/dgv,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/dgv}]},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_][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=[\]\)]))\p{space}*)(?:(\.(?:\*|))|(->(?:\*|)))/dgv}]},"5":{name:"variable.other.member.c"}},match:/((?:[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=[\]\)]))\p{space}*)(?:(\.(?:\*|))|(->(?:\*|)))((?:[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*(?:\.(?:\*|)|->(?:\*|))\p{space}*)*)\p{space}*(\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_][\p{L}\p{M}\p{N}\p{Pc}]*\b(?!\())/dgv},method_access:{begin:/((?:[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=[\]\)]))\p{space}*)(?:(\.(?:\*|))|(->(?:\*|)))((?:[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*(?:\.(?:\*|)|->(?:\*|))\p{space}*)*)\p{space}*([a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*)(\()/dgv,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_][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=[\]\)]))\p{space}*)(?:(\.(?:\*|))|(->(?:\*|)))/dgv}]},"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:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.arguments.end.bracket.round.function.member.c"}},patterns:[{include:"#function-call-innards"}]},numbers:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,end:/(?=\n?$)/dgv,patterns:[{captures:{"1":{name:"keyword.other.unit.hexadecimal.c"},"2":{name:"constant.numeric.hexadecimal.c",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,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:/(?<=\p{AHex})'(?=\p{AHex})/dgv,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:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric"}]},"12":{name:"keyword.other.unit.suffix.floating-point.c"}},match:/(0[xX])(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)?((?:(?<=\p{AHex})\.|\.(?=\p{AHex})))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)?((?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"2":{name:"constant.numeric.decimal.c",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,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:/(?<=\p{AHex})'(?=\p{AHex})/dgv,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:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric"}]},"12":{name:"keyword.other.unit.suffix.floating-point.c"}},match:/((?=[0-9\.])(?!0[xXbB]))([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)?((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)?((?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.binary.c"},"2":{name:"constant.numeric.binary.c",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric"}]},"3":{name:"punctuation.separator.constant.numeric"},"4":{name:"keyword.other.unit.suffix.integer.c"}},match:/(0[bB])([01](?:[01]|((?<=\p{AHex})'(?=\p{AHex})))*)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.octal.c"},"2":{name:"constant.numeric.octal.c",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric"}]},"3":{name:"punctuation.separator.constant.numeric"},"4":{name:"keyword.other.unit.suffix.integer.c"}},match:/(0)((?:[0-7]|((?<=\p{AHex})'(?=\p{AHex})))+)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.hexadecimal.c"},"2":{name:"constant.numeric.hexadecimal.c",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,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:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric"}]},"9":{name:"keyword.other.unit.suffix.integer.c"}},match:/(0[xX])(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})'(?=\p{AHex})))*)((?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"2":{name:"constant.numeric.decimal.c",patterns:[{match:/(?<=\p{AHex})'(?=\p{AHex})/dgv,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:/(?<=\p{AHex})'(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric"}]},"9":{name:"keyword.other.unit.suffix.integer.c"}},match:/((?=[0-9\.])(?!0[xXbB]))([0-9](?:[0-9]|((?<=\p{AHex})'(?=\p{AHex})))*)((?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})'(?=\p{AHex}))*))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{match:/(?:[0-9a-zA-Z_\.']|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[0-9a-zA-Z_\.']|(?<=[eEpP])[\+\-])*/dgv},operators:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\$])(sizeof)(?![\p{L}\p{M}\p{N}\p{Pc}\$])/dgv,name:"keyword.operator.sizeof.c"},{match:/--/dgv,name:"keyword.operator.decrement.c"},{match:/\+\+/dgv,name:"keyword.operator.increment.c"},{match:/%=|\+=|-=|\*=|(?<!\()\/=/dgv,name:"keyword.operator.assignment.compound.c"},{match:/&=|\^=|<<=|>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.c"},{match:/<<|>>/dgv,name:"keyword.operator.bitwise.shift.c"},{match:/!=|<=|>=|==|[\<\>]/dgv,name:"keyword.operator.comparison.c"},{match:/&&|!|\|\|/dgv,name:"keyword.operator.logical.c"},{match:/[\&\|\^\~]/dgv,name:"keyword.operator.c"},{match:/=/dgv,name:"keyword.operator.assignment.c"},{match:/[\%\*\/\-\+]/dgv,name:"keyword.operator.c"},{begin:/(\?)/dgv,beginCaptures:{"1":{name:"keyword.operator.ternary.c"}},end:/(:)/dgv,endCaptures:{"1":{name:"keyword.operator.ternary.c"}},patterns:[{include:"#function-call-innards"},{include:"$self"}]}]},parens:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.c"}},name:"meta.parens.c",patterns:[{include:"$self"}]},"parens-block":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.c"}},name:"meta.parens.block.c",patterns:[{include:"#block_innards"},{match:/(?<!:):(?!:)/dgv,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:/^\p{space}*(((#)\p{space}*pragma\p{space}+mark)\p{space}+([^\n]*))/dgv,name:"meta.section.c"},predefined_macros:{patterns:[{captures:{"1":{name:"entity.name.other.preprocessor.macro.predefined.$1.c"}},match:/*@__PURE__*/ new EmulatedRegExp("\\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","dgv",{"lazyCompile":true})},{match:/\b__([A-Z_]+)__\b/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$1.c"}]},"preprocessor-rule-conditional":{patterns:[{begin:/^\p{space}*((#)\p{space}*if(?:n?def)?\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,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:/^\p{space}*((#)\p{space}*elif\b)/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"$self"}]},{captures:{"0":{name:"invalid.illegal.stray-$1.c"}},match:/^\p{space}*#\p{space}*(e(?:lse|lif|ndif))\b/dgv}]},"preprocessor-rule-conditional-block":{patterns:[{begin:/^\p{space}*((#)\p{space}*if(?:n?def)?\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,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:/^\p{space}*((#)\p{space}*elif\b)/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#block_innards"}]},{captures:{"0":{name:"invalid.illegal.stray-$1.c"}},match:/^\p{space}*#\p{space}*(e(?:lse|lif|ndif))\b/dgv}]},"preprocessor-rule-conditional-line":{patterns:[{match:/\bdefined\b(?:\p{space}*(?=\n?$)|(?=\p{space}*\(*\p{space}*(?!defined\b)[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*\b\p{space}*\)*\p{space}*(?:\n|\/\/|\/\*|[\?\:]|&&|\|\||\\\p{space}*\n)))/dgv,name:"keyword.control.directive.conditional.c"},{match:/\bdefined\b/dgv,name:"invalid.illegal.macro-name.c"},{include:"#comments"},{include:"#strings"},{include:"#numbers"},{begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.c"}},end:/:/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.c"}},patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#operators"},{match:/\b(NULL|true|false|TRUE|FALSE)\b/dgv,name:"constant.language.c"},{match:/[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*/dgv,name:"entity.name.function.preprocessor.c"},{include:"#line_continuation_character"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/\)|(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.c"}},patterns:[{include:"#preprocessor-rule-conditional-line"}]}]},"preprocessor-rule-define-line-blocks":{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.c"}},end:/\}|(?=\p{space}*#\p{space}*e(?:lif|lse|ndif)\b)|(?<!\\)(?=\p{space}*\n)/dgv,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:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.c"}},end:/\}|(?=\p{space}*#\p{space}*e(?:lif|lse|ndif)\b)|(?<!\\)(?=\p{space}*\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.c"}},name:"meta.block.c",patterns:[{include:"#preprocessor-rule-define-line-blocks"}]},{match:/\(/dgv,name:"punctuation.section.parens.begin.bracket.round.c"},{match:/\)/dgv,name:"punctuation.section.parens.end.bracket.round.c"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?!(?: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)\\p{space}*\\()(?=(?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\2)|::)+))\\1)\\p{space}*\\(|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\])\\p{space}*\\()","dgv",{"hiddenCaptures":[1,2]}),end:/(?<=\))(?![\p{L}\p{M}\p{N}\p{Pc}])|(?<!\\)(?=\p{space}*\n)/dgv,name:"meta.function.c",patterns:[{include:"#preprocessor-rule-define-line-functions"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/"|(?<!\\)(?=\p{space}*\n)/dgv,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:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/'|(?<!\\)(?=\p{space}*\n)/dgv,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:/*@__PURE__*/ new EmulatedRegExp("(?!(?: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)\\p{space}*\\()((?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\3)|::)+))\\2)|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\]))\\p{space}*(\\()","dgv",{"hiddenCaptures":[2,3]}),beginCaptures:{"1":{name:"entity.name.function.c"},"2":{name:"punctuation.section.arguments.begin.bracket.round.c"}},end:/(\))|(?<!\\)(?=\p{space}*\n)/dgv,endCaptures:{"1":{name:"punctuation.section.arguments.end.bracket.round.c"}},patterns:[{include:"#preprocessor-rule-define-line-functions"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.c"}},end:/(\))|(?<!\\)(?=\p{space}*\n)/dgv,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:/^\p{space}*((#)\p{space}*if\b)(?=\p{space}*\(*\b0+\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?=\n)/dgv,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:/^\p{space}*((#)\p{space}*elif\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*e(?:lif|lse|ndif)\b))/dgv,patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"$self"}]},{begin:/\n/dgv,contentName:"comment.block.preprocessor.if-branch.c",end:/(?=^\p{space}*((#)\p{space}*e(?:lse|lif|ndif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-block":{patterns:[{begin:/^\p{space}*((#)\p{space}*if\b)(?=\p{space}*\(*\b0+\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?=\n)/dgv,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:/^\p{space}*((#)\p{space}*elif\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*e(?:lif|lse|ndif)\b))/dgv,patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#block_innards"}]},{begin:/\n/dgv,contentName:"comment.block.preprocessor.if-branch.in-block.c",end:/(?=^\p{space}*((#)\p{space}*e(?:lse|lif|ndif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]}]},"preprocessor-rule-disabled-elif":{begin:/^\p{space}*((#)\p{space}*elif\b)(?=\p{space}*\(*\b0+\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*e(?:lif|lse|ndif)\b))/dgv,patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:/\n/dgv,contentName:"comment.block.preprocessor.elif-branch.c",end:/(?=^\p{space}*((#)\p{space}*e(?:lse|lif|ndif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]},"preprocessor-rule-enabled":{patterns:[{begin:/^\p{space}*((#)\p{space}*if\b)(?=\p{space}*\(*\b0*1\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,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:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:/^\p{space}*((#)\p{space}*else\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/^\p{space}*((#)\p{space}*elif\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*e(?:lse|lif|ndif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/\n/dgv,end:/(?=^\p{space}*((#)\p{space}*e(?:lse|lif|ndif)\b))/dgv,patterns:[{include:"$self"}]}]}]},"preprocessor-rule-enabled-block":{patterns:[{begin:/^\p{space}*((#)\p{space}*if\b)(?=\p{space}*\(*\b0*1\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/^\p{space}*((#)\p{space}*endif\b)/dgv,endCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:/^\p{space}*((#)\p{space}*else\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/^\p{space}*((#)\p{space}*elif\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*e(?:lse|lif|ndif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/\n/dgv,end:/(?=^\p{space}*((#)\p{space}*e(?:lse|lif|ndif)\b))/dgv,patterns:[{include:"#block_innards"}]}]}]},"preprocessor-rule-enabled-elif":{begin:/^\p{space}*((#)\p{space}*elif\b)(?=\p{space}*\(*\b0*1\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:/\n/dgv,end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{begin:/^\p{space}*((#)\p{space}*(else)\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/^\p{space}*((#)\p{space}*(elif)\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*e(?:lse|lif|ndif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{include:"$self"}]}]},"preprocessor-rule-enabled-elif-block":{begin:/^\p{space}*((#)\p{space}*elif\b)(?=\p{space}*\(*\b0*1\b\)*\p{space}*(?:(?=\n?$)|\/\/|\/\*))/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{begin:/(?=[^\n])(?!\/(?:\/|\*(?![^\n]*\\\p{space}*\n)))/dgvy,end:/(?=\/\/)|(?=\/\*(?![^\n]*\\\p{space}*\n))|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.c",patterns:[{include:"#preprocessor-rule-conditional-line"}]},{include:"#comments"},{begin:/\n/dgv,end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{begin:/^\p{space}*((#)\p{space}*(else)\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{begin:/^\p{space}*((#)\p{space}*(elif)\b)/dgv,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:/(?=^\p{space}*((#)\p{space}*e(?:lse|lif|ndif)\b))/dgv,patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{include:"#block_innards"}]}]},"preprocessor-rule-enabled-else":{begin:/^\p{space}*((#)\p{space}*else\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"$self"}]},"preprocessor-rule-enabled-else-block":{begin:/^\p{space}*((#)\p{space}*else\b)/dgv,beginCaptures:{"0":{name:"meta.preprocessor.c"},"1":{name:"keyword.control.directive.conditional.c"},"2":{name:"punctuation.definition.directive.c"}},end:/(?=^\p{space}*((#)\p{space}*endif\b))/dgv,patterns:[{include:"#block_innards"}]},probably_a_parameter:{captures:{"1":{name:"variable.parameter.probably.c"}},match:/(?<=(?:[a-zA-Z_0-9] |[\&\*\>\]\)]))\p{space}*([a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=(?:\[\]\p{space}*)?[\,\)])/dgv},static_assert:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=((?:(?:(?:(?=((?<!\\p{space})\\p{space}+))\\3)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\7)[^\\/])*))\\6)((?:(?=(\\*+))\\9)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$)))))\\2))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])static_assert|_Static_assert(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?=((?:(?:(?:(?=((?<!\\p{space})\\p{space}+))\\13)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\17)[^\\/])*))\\16)((?:(?=(\\*+))\\19)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$)))))\\12))(\\()","dgv",{"hiddenCaptures":[2,3,6,7,9,12,13,16,17,19]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.c punctuation.definition.comment.begin.c"},"3":{name:"comment.block.c"},"4":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]},"10":{name:"punctuation.section.arguments.begin.bracket.round.static_assert.c"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.arguments.end.bracket.round.static_assert.c"}},patterns:[{begin:/(,)\p{space}*(?=(?:L|u8|u|U\p{space}*")?)/dgv,beginCaptures:{"1":{name:"punctuation.separator.delimiter.comma.c"}},end:/(?=\))/dgv,name:"meta.static_assert.message.c",patterns:[{include:"#string_context"}]},{include:"#evaluation_context"}]},storage_types:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:unsigned|signed|double|_Bool|short|float|long|void|char|bool|int)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.built-in.primitive.c"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?: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)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.built-in.c"},{match:/\b(enum|struct|union)\b/dgv,name:"storage.type.$1.c"},{begin:/(\b(?:__asm__|asm)\b)\p{space}*((?:volatile)?)/dgv,beginCaptures:{"1":{name:"storage.type.asm.c"},"2":{name:"storage.modifier.c"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?:(?=(\\p{space}+))\\2)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\6)[^\\/])*))\\5)((?:(?=(\\*+))\\8)/)))+?|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))(?:\\n|(?=\\n?$))","dgv",{"hiddenCaptures":[2,5,6,8]})},{include:"#comments"},{begin:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=(\\p{space}+))\\3)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\7)[^\\/])*))\\6)((?:(?=(\\*+))\\9)/)))+?|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))\\()","dgv",{"hiddenCaptures":[3,6,7,9]}),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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.parens.end.bracket.round.assembly.c"}},patterns:[{begin:/(R?)(")/dgv,beginCaptures:{"1":{name:"meta.encoding.c"},"2":{name:"punctuation.definition.string.begin.assembly.c"}},contentName:"meta.embedded.assembly.c",end:/(")/dgv,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:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.section.parens.begin.bracket.round.assembly.inner.c"}},end:/(\))/dgv,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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\[((?:(?:(?:(?=(\\p{space}+))\\2)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\6)[^\\/])*))\\5)((?:(?=(\\*+))\\8)/)))+?|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*)((?:(?:(?:(?=(\\p{space}+))\\11)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\15)[^\\/])*))\\14)((?:(?=(\\*+))\\17)/)))+?|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$))))\\]","dgv",{"hiddenCaptures":[2,5,6,8,11,14,15,17]})},{match:/:/dgv,name:"punctuation.separator.delimiter.colon.assembly.c"},{include:"#comments"}]}]}]},string_escaped_char:{patterns:[{match:/\\([\\abefnprtv'"\?]|[0-3]\p{Nd}{0,2}|[4-7]\p{Nd}?|x\p{AHex}{0,2}|u\p{AHex}{0,4}|U\p{AHex}{0,8})/dgv,name:"constant.character.escape.c"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unknown-escape.c"}]},string_placeholder:{patterns:[{match:/%(\p{Nd}+\$)?[\#0\- \+']*[\,\;\:_]?((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?(\.((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?)?(hh|h|ll|[ljtzqL]|vh|vl|v|hv|hl)?[diouxXDOUeEfFgGaACcSspn\%]/dgv,name:"constant.other.placeholder.c"},{captures:{"1":{name:"invalid.illegal.placeholder.c"}},match:/(%)(?!"\p{space}*(PRI|SCN))/dgv}]},strings:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/"/dgv,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:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.c"}},end:/'/dgv,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:/*@__PURE__*/ new EmulatedRegExp("((?:(?=((?:(?:(?:(?=((?<!\\p{space})\\p{space}+))\\3)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\7)[^\\/])*))\\6)((?:(?=(\\*+))\\9)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$)))))\\2))(\\()","dgv",{"hiddenCaptures":[2,3,6,7,9]}),beginCaptures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{name:"comment.block.c punctuation.definition.comment.begin.c"},"3":{name:"comment.block.c"},"4":{patterns:[{match:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]},"5":{name:"punctuation.section.parens.begin.bracket.round.conditional.switch.c"}},end:/(\))/dgv,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:/*@__PURE__*/ new EmulatedRegExp("(((?:(?=((?:(?:(?:(?=((?<!\\p{space})\\p{space}+))\\4)|(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\8)[^\\/])*))\\7)((?:(?=(\\*+))\\10)/)))+|(?:(?:(?:(?:\\b|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]))|^)|(?=\\n?$)))))\\3))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])switch(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))","dgv",{"hiddenCaptures":[3,4,7,8,10]}),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:/\*\//dgv,name:"comment.block.c punctuation.definition.comment.end.c"},{match:/\*/dgv,name:"comment.block.c"}]},"6":{name:"keyword.control.switch.c"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,name:"meta.block.switch.c",patterns:[{begin:/ ?/dgvy,end:/((?:\{|<%|\?\?<|(?=;)))/dgv,endCaptures:{"1":{name:"punctuation.section.block.begin.bracket.curly.switch.c"}},name:"meta.head.switch.c",patterns:[{include:"#switch_conditional_parentheses"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,end:/(\}|%>|\?\?>)/dgv,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:/(?<=\}|%>|\?\?>)[\p{space}\n]*/dgv,end:/[\p{space}\n]*(?=;)/dgv,name:"meta.tail.switch.c",patterns:[{include:"$self"}]}]},vararg_ellipses:{match:/(?<!\.)\.\.\.(?!\.)/dgv,name:"punctuation.vararg-ellipses.c"}},scopeName:"source.c",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/cadence.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Cadence",name:"cadence",patterns:[{include:"#comments"},{include:"#expressions"},{include:"#declarations"},{include:"#keywords"},{include:"#code-block"},{include:"#composite"},{include:"#event"}],repository:{"code-block":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.scope.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.scope.end.cadence"}},patterns:[{include:"$self"}]},comments:{patterns:[{captures:{"1":{name:"punctuation.definition.comment.cadence"}},match:/^^(#!)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.cadence"},{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.documentation.cadence",patterns:[{include:"#nested"}]},{begin:/\/\*:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.documentation.playground.cadence",patterns:[{include:"#nested"}]},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.cadence",patterns:[{include:"#nested"}]},{match:/\*\//dgv,name:"invalid.illegal.unexpected-end-of-block-comment.cadence"},{begin:/(^[ \t]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/^/dgv,name:"comment.line.triple-slash.documentation.cadence"},{begin:/\/\/:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/^/dgv,name:"comment.line.double-slash.documentation.cadence"},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/^/dgv,name:"comment.line.double-slash.cadence"}]}],repository:{nested:{begin:/\/\*/dgv,end:/\*\//dgv,patterns:[{include:"#nested"}]}}},composite:{begin:/\b((?:struct|resource|contract)(?:\p{space}+interface)?|transaction|enum)\p{space}+([\p{L}_][\p{L}_\p{N}\p{M}]*)/dgv,beginCaptures:{"1":{name:"storage.type.$1.cadence"},"2":{name:"entity.name.type.$1.cadence"}},end:/(?<=\})/dgv,name:"meta.definition.type.composite.cadence",patterns:[{include:"#comments"},{include:"#conformance-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.cadence"}},name:"meta.definition.type.body.cadence",patterns:[{include:"$self"}]}]},"conformance-clause":{begin:/(:)(?=\p{space}*\{)|(:)\p{space}*/dgv,beginCaptures:{"1":{name:"invalid.illegal.empty-conformance-clause.cadence"},"2":{name:"punctuation.separator.conformance-clause.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}])","dgv",{"strategy":"clip_search"}),name:"meta.conformance-clause.cadence",patterns:[{begin:/(?:)/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}])","dgv",{"strategy":"clip_search"}),patterns:[{include:"#comments"},{include:"#type"}]}]},declarations:{patterns:[{include:"#var-let-declaration"},{include:"#function"},{include:"#initializer"}]},event:{begin:/\b(event)\b\p{space}+([\p{L}_][\p{L}_\p{N}\p{M}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"storage.type.event.cadence"},"2":{name:"entity.name.type.event.cadence"}},end:/(?<=\))|(?=\n?$)/dgv,name:"meta.definition.type.event.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"}]},"expression-element-list":{patterns:[{include:"#comments"},{begin:/([\p{L}_][\p{L}_\p{N}\p{M}]*)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"support.function.any-method.cadence"},"2":{name:"punctuation.separator.argument-label.cadence"}},end:/(?=[\,\)\]])/dgv,patterns:[{include:"#expressions"}]},{begin:/(?![\,\)\]])(?=\P{space})/dgv,end:/(?=[\,\)\]])/dgv,patterns:[{include:"#expressions"}]}]},expressions:{patterns:[{include:"#comments"},{include:"#function-call-expression"},{include:"#literals"},{include:"#operators"},{include:"#language-variables"}]},function:{begin:/\b(fun)\b\p{space}+([\p{L}_][\p{L}_\p{N}\p{M}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"storage.type.function.cadence"},"2":{name:"entity.name.function.cadence"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{include:"#function-result"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.cadence"}},name:"meta.definition.function.body.cadence",patterns:[{include:"$self"}]}]},"function-call-expression":{patterns:[{begin:/(?!(?:set|init))([\p{L}_][\p{L}_\p{N}\p{M}]*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"support.function.any-method.cadence"},"4":{name:"punctuation.definition.arguments.begin.cadence"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.cadence"}},name:"meta.function-call.cadence",patterns:[{include:"#expression-element-list"}]}]},"function-result":{begin:/(?<![\/\=\-\+\!\*\%\<\>\&\|\^\~\.])(:)(?![\/\=\-\+\!\*\%\<\>\&\|\^\~\.])\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.function-result.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\{|;)|(?=\\n?$)","dgv",{"strategy":"clip_search"}),name:"meta.function-result.cadence",patterns:[{include:"#type"}]},initializer:{begin:/(?<!\.)\b(init)\p{space}*(?=\(|<)/dgv,beginCaptures:{"1":{name:"storage.type.function.cadence"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.initializer.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.cadence"}},name:"meta.definition.function.body.cadence",patterns:[{include:"$self"}]}]},keywords:{patterns:[{match:/(?<!\.)\b(?:if|else|switch|case|default)\b/dgv,name:"keyword.control.branch.cadence"},{match:/(?<!\.)\b(?:return|continue|break)\b/dgv,name:"keyword.control.transfer.cadence"},{match:/(?<!\.)\b(?:while|for|in)\b/dgv,name:"keyword.control.loop.cadence"},{match:/(?<!\.)\b(?:pre|post|prepare|execute|create|destroy|emit)\b/dgv,name:"keyword.other.cadence"},{match:/(?<!\.)\b(?:private|pub(?:\(set\))?|access\((?:self|contract|account|all)\))\b/dgv,name:"keyword.other.declaration-specifier.accessibility.cadence"},{match:/\b(?:init|destroy)\b/dgv,name:"storage.type.function.cadence"},{match:/(?<!\.)\b(?:import|from)\b/dgv,name:"keyword.control.import.cadence"}]},"language-variables":{patterns:[{match:/\b(self)\b/dgv,name:"variable.language.cadence"}]},literals:{patterns:[{include:"#boolean"},{include:"#numeric"},{include:"#string"},{match:/\bnil\b/dgv,name:"constant.language.nil.cadence"}],repository:{boolean:{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.cadence"},numeric:{patterns:[{include:"#binary"},{include:"#octal"},{include:"#decimal"},{include:"#hexadecimal"}],repository:{binary:{match:/(\B-|\b)0b[01]([_01]*[01])?\b/dgv,name:"constant.numeric.integer.binary.cadence"},decimal:{match:/(\B-|\b)[0-9]([_0-9]*[0-9])?\b/dgv,name:"constant.numeric.integer.decimal.cadence"},hexadecimal:{match:/(\B-|\b)0x[0-9A-Fa-f]([_0-9A-Fa-f]*[0-9A-Fa-f])?\b/dgv,name:"constant.numeric.integer.hexadecimal.cadence"},octal:{match:/(\B-|\b)0o[0-7]([_0-7]*[0-7])?\b/dgv,name:"constant.numeric.integer.octal.cadence"}}},string:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cadence"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cadence"}},name:"string.quoted.double.single-line.cadence",patterns:[{match:/\r|\n/dgv,name:"invalid.illegal.returns-not-allowed.cadence"},{include:"#string-guts"}]}],repository:{"string-guts":{patterns:[{match:/\\[0\\tnr"']/dgv,name:"constant.character.escape.cadence"},{match:/\\u\{[0-9a-fA-F]{1,8}\}/dgv,name:"constant.character.escape.unicode.cadence"}]}}}}},operators:{patterns:[{match:/-/dgv,name:"keyword.operator.arithmetic.unary.cadence"},{match:/!/dgv,name:"keyword.operator.logical.not.cadence"},{match:/=/dgv,name:"keyword.operator.assignment.cadence"},{match:/<-/dgv,name:"keyword.operator.move.cadence"},{match:/<-!/dgv,name:"keyword.operator.force-move.cadence"},{match:/\+|-|\*|\//dgv,name:"keyword.operator.arithmetic.cadence"},{match:/%/dgv,name:"keyword.operator.arithmetic.remainder.cadence"},{match:/==|!=|>|<|>=|<=/dgv,name:"keyword.operator.comparison.cadence"},{match:/\?\?/dgv,name:"keyword.operator.coalescing.cadence"},{match:/&&|\|\|/dgv,name:"keyword.operator.logical.cadence"},{match:/[\?\!]/dgv,name:"keyword.operator.type.optional.cadence"}]},"parameter-clause":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.cadence"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.cadence"}},name:"meta.parameter-clause.cadence",patterns:[{include:"#parameter-list"}]},"parameter-list":{patterns:[{captures:{"1":{name:"entity.name.function.cadence"},"2":{name:"variable.parameter.function.cadence"}},match:/([\p{L}_][\p{L}_\p{N}\p{M}]*)\p{space}+([\p{L}_][\p{L}_\p{N}\p{M}]*)(?=\p{space}*:)/dgv},{captures:{"1":{name:"variable.parameter.function.cadence"},"2":{name:"entity.name.function.cadence"}},match:/(([\p{L}_][\p{L}_\p{N}\p{M}]*))(?=\p{space}*:)/dgv},{begin:/:\p{space}*(?!\p{space})/dgv,end:/(?=[\,\)])/dgv,patterns:[{include:"#type"},{match:/:/dgv,name:"invalid.illegal.extra-colon-in-parameter-list.cadence"}]}]},type:{patterns:[{include:"#comments"},{match:/([\p{L}_][\p{L}_\p{N}\p{M}]*)/dgv,name:"storage.type.cadence"}]},"var-let-declaration":{begin:/\b(var|let)\b\p{space}+([\p{L}_][\p{L}_\p{N}\p{M}]*)/dgv,beginCaptures:{"1":{name:"storage.type.$1.cadence"},"2":{name:"entity.name.type.$1.cadence"}},end:/=|<-|<-!|(?=\n?$)/dgv,patterns:[{include:"#type"}]}},scopeName:"source.cadence",embeddedLangs:undefined,aliases:["cdc"]})
3
+ const lang = Object.freeze({displayName:"Cadence",name:"cadence",patterns:[{include:"#comments"},{include:"#expressions"},{include:"#declarations"},{include:"#keywords"},{include:"#code-block"},{include:"#composite"},{include:"#event"}],repository:{"code-block":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.scope.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.scope.end.cadence"}},patterns:[{include:"$self"}]},comments:{patterns:[{captures:{"1":{name:"punctuation.definition.comment.cadence"}},match:/^^(#!)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.cadence"},{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.documentation.cadence",patterns:[{include:"#nested"}]},{begin:/\/\*:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.documentation.playground.cadence",patterns:[{include:"#nested"}]},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.cadence",patterns:[{include:"#nested"}]},{match:/\*\//dgv,name:"invalid.illegal.unexpected-end-of-block-comment.cadence"},{begin:/(^[ \t]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/^/dgv,name:"comment.line.triple-slash.documentation.cadence"},{begin:/\/\/:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/^/dgv,name:"comment.line.double-slash.documentation.cadence"},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/^/dgv,name:"comment.line.double-slash.cadence"}]}],repository:{nested:{begin:/\/\*/dgv,end:/\*\//dgv,patterns:[{include:"#nested"}]}}},composite:{begin:/\b((?:struct|resource|contract)(?:\p{space}+interface)?|transaction|enum)\p{space}+([\p{L}_][\p{L}_\p{N}\p{M}]*)/dgv,beginCaptures:{"1":{name:"storage.type.$1.cadence"},"2":{name:"entity.name.type.$1.cadence"}},end:/(?<=\})/dgv,name:"meta.definition.type.composite.cadence",patterns:[{include:"#comments"},{include:"#conformance-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.cadence"}},name:"meta.definition.type.body.cadence",patterns:[{include:"$self"}]}]},"conformance-clause":{begin:/(:)(?=\p{space}*\{)|(:)\p{space}*/dgv,beginCaptures:{"1":{name:"invalid.illegal.empty-conformance-clause.cadence"},"2":{name:"punctuation.separator.conformance-clause.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}])","dgv",{"strategy":"clip_search"}),name:"meta.conformance-clause.cadence",patterns:[{begin:/(?:)/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}])","dgv",{"strategy":"clip_search"}),patterns:[{include:"#comments"},{include:"#type"}]}]},declarations:{patterns:[{include:"#var-let-declaration"},{include:"#function"},{include:"#initializer"}]},event:{begin:/\b(event)\b\p{space}+([\p{L}_][\p{L}_\p{N}\p{M}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"storage.type.event.cadence"},"2":{name:"entity.name.type.event.cadence"}},end:/(?<=\))|(?=\n?$)/dgv,name:"meta.definition.type.event.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"}]},"expression-element-list":{patterns:[{include:"#comments"},{begin:/([\p{L}_][\p{L}_\p{N}\p{M}]*)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"support.function.any-method.cadence"},"2":{name:"punctuation.separator.argument-label.cadence"}},end:/(?=[\,\)\]])/dgv,patterns:[{include:"#expressions"}]},{begin:/(?![\,\)\]])(?=\P{space})/dgv,end:/(?=[\,\)\]])/dgv,patterns:[{include:"#expressions"}]}]},expressions:{patterns:[{include:"#comments"},{include:"#function-call-expression"},{include:"#literals"},{include:"#operators"},{include:"#language-variables"}]},function:{begin:/\b(fun)\b\p{space}+([\p{L}_][\p{L}_\p{N}\p{M}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"storage.type.function.cadence"},"2":{name:"entity.name.function.cadence"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{include:"#function-result"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.cadence"}},name:"meta.definition.function.body.cadence",patterns:[{include:"$self"}]}]},"function-call-expression":{patterns:[{begin:/(?!(?:set|init))([\p{L}_][\p{L}_\p{N}\p{M}]*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"support.function.any-method.cadence"},"4":{name:"punctuation.definition.arguments.begin.cadence"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.cadence"}},name:"meta.function-call.cadence",patterns:[{include:"#expression-element-list"}]}]},"function-result":{begin:/(?<![\/\=\-\+\!\*\%\<\>\&\|\^\~\.])(:)(?![\/\=\-\+\!\*\%\<\>\&\|\^\~\.])\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.function-result.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=[\\{\\;])|(?=\\n?$)","dgv",{"strategy":"clip_search"}),name:"meta.function-result.cadence",patterns:[{include:"#type"}]},initializer:{begin:/(?<!\.)\b(init)\p{space}*(?=[\(\<])/dgv,beginCaptures:{"1":{name:"storage.type.function.cadence"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.initializer.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.cadence"}},name:"meta.definition.function.body.cadence",patterns:[{include:"$self"}]}]},keywords:{patterns:[{match:/(?<!\.)\b(?:if|else|switch|case|default)\b/dgv,name:"keyword.control.branch.cadence"},{match:/(?<!\.)\b(?:return|continue|break)\b/dgv,name:"keyword.control.transfer.cadence"},{match:/(?<!\.)\b(?:while|for|in)\b/dgv,name:"keyword.control.loop.cadence"},{match:/(?<!\.)\b(?:pre|post|prepare|execute|create|destroy|emit)\b/dgv,name:"keyword.other.cadence"},{match:/(?<!\.)\b(?:private|pub(?:\(set\))?|access\((?:self|contract|account|all)\))\b/dgv,name:"keyword.other.declaration-specifier.accessibility.cadence"},{match:/\b(?:init|destroy)\b/dgv,name:"storage.type.function.cadence"},{match:/(?<!\.)\b(?:import|from)\b/dgv,name:"keyword.control.import.cadence"}]},"language-variables":{patterns:[{match:/\b(self)\b/dgv,name:"variable.language.cadence"}]},literals:{patterns:[{include:"#boolean"},{include:"#numeric"},{include:"#string"},{match:/\bnil\b/dgv,name:"constant.language.nil.cadence"}],repository:{boolean:{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.cadence"},numeric:{patterns:[{include:"#binary"},{include:"#octal"},{include:"#decimal"},{include:"#hexadecimal"}],repository:{binary:{match:/(\B-|\b)0b[01]([_01]*[01])?\b/dgv,name:"constant.numeric.integer.binary.cadence"},decimal:{match:/(\B-|\b)[0-9]([_0-9]*[0-9])?\b/dgv,name:"constant.numeric.integer.decimal.cadence"},hexadecimal:{match:/(\B-|\b)0x\p{AHex}([_\p{AHex}]*\p{AHex})?\b/dgv,name:"constant.numeric.integer.hexadecimal.cadence"},octal:{match:/(\B-|\b)0o[0-7]([_0-7]*[0-7])?\b/dgv,name:"constant.numeric.integer.octal.cadence"}}},string:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cadence"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cadence"}},name:"string.quoted.double.single-line.cadence",patterns:[{match:/[\r\n]/dgv,name:"invalid.illegal.returns-not-allowed.cadence"},{include:"#string-guts"}]}],repository:{"string-guts":{patterns:[{match:/\\[0\\tnr"']/dgv,name:"constant.character.escape.cadence"},{match:/\\u\{\p{AHex}{1,8}\}/dgv,name:"constant.character.escape.unicode.cadence"}]}}}}},operators:{patterns:[{match:/-/dgv,name:"keyword.operator.arithmetic.unary.cadence"},{match:/!/dgv,name:"keyword.operator.logical.not.cadence"},{match:/=/dgv,name:"keyword.operator.assignment.cadence"},{match:/<-/dgv,name:"keyword.operator.move.cadence"},{match:/<-!/dgv,name:"keyword.operator.force-move.cadence"},{match:/[\+\-\*\/]/dgv,name:"keyword.operator.arithmetic.cadence"},{match:/%/dgv,name:"keyword.operator.arithmetic.remainder.cadence"},{match:/==|!=|[\>\<]|>=|<=/dgv,name:"keyword.operator.comparison.cadence"},{match:/\?\?/dgv,name:"keyword.operator.coalescing.cadence"},{match:/&&|\|\|/dgv,name:"keyword.operator.logical.cadence"},{match:/[\?\!]/dgv,name:"keyword.operator.type.optional.cadence"}]},"parameter-clause":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.cadence"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.cadence"}},name:"meta.parameter-clause.cadence",patterns:[{include:"#parameter-list"}]},"parameter-list":{patterns:[{captures:{"1":{name:"entity.name.function.cadence"},"2":{name:"variable.parameter.function.cadence"}},match:/([\p{L}_][\p{L}_\p{N}\p{M}]*)\p{space}+([\p{L}_][\p{L}_\p{N}\p{M}]*)(?=\p{space}*:)/dgv},{captures:{"1":{name:"variable.parameter.function.cadence"},"2":{name:"entity.name.function.cadence"}},match:/(([\p{L}_][\p{L}_\p{N}\p{M}]*))(?=\p{space}*:)/dgv},{begin:/:\p{space}*(?!\p{space})/dgv,end:/(?=[\,\)])/dgv,patterns:[{include:"#type"},{match:/:/dgv,name:"invalid.illegal.extra-colon-in-parameter-list.cadence"}]}]},type:{patterns:[{include:"#comments"},{match:/([\p{L}_][\p{L}_\p{N}\p{M}]*)/dgv,name:"storage.type.cadence"}]},"var-let-declaration":{begin:/\b(var|let)\b\p{space}+([\p{L}_][\p{L}_\p{N}\p{M}]*)/dgv,beginCaptures:{"1":{name:"storage.type.$1.cadence"},"2":{name:"entity.name.type.$1.cadence"}},end:/=|<-|<-!|(?=\n?$)/dgv,patterns:[{include:"#type"}]}},scopeName:"source.cadence",embeddedLangs:undefined,aliases:["cdc"]})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/cairo.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import python from './python.mjs'
2
2
 
3
- const lang = Object.freeze({displayName:"Cairo",name:"cairo",patterns:[{begin:/\b(if)[^\n]*\(/dgv,beginCaptures:{"1":{name:"keyword.control.if"},"2":{name:"entity.name.condition"}},contentName:"source.cairo0",end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.end"}},name:"meta.control.if",patterns:[{include:"source.cairo0"}]},{begin:/\b(with)\p{space}+([^\n]+)\p{space}*\{/dgv,beginCaptures:{"1":{name:"keyword.control.with"},"2":{name:"entity.name.identifiers"}},contentName:"source.cairo0",end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.end"}},name:"meta.control.with",patterns:[{include:"source.cairo0"}]},{begin:/\b(with_attr)\p{space}+([a-zA-Z_][a-zA-Z0-9_]*)\p{space}*[\(\{]/dgv,beginCaptures:{"1":{name:"keyword.control.with_attr"},"2":{name:"entity.name.function"}},contentName:"source.cairo0",end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.end"}},name:"meta.control.with_attr",patterns:[{include:"source.cairo0"}]},{match:/\belse\b/dgv,name:"keyword.control.else"},{match:/\b(call|jmp|ret|abs|rel|if)\b/dgv,name:"keyword.other.opcode"},{match:/\b(ap|fp)\b/dgv,name:"keyword.other.register"},{match:/\b(const|let|local|tempvar|felt|as|from|import|static_assert|return|assert|cast|alloc_locals|with|with_attr|nondet|dw|codeoffset|new|using|and)\b/dgv,name:"keyword.other.meta"},{match:/\b(SIZEOF_LOCALS|SIZE)\b/dgv,name:"markup.italic"},{match:/\/\/[^\n]*\n/dgv,name:"comment.line.sharp"},{match:/\b[a-zA-Z_][a-zA-Z0-9_]*:\p{space}*(?=\n?$)/dgv,name:"entity.name.function"},{begin:/\b(func)\p{space}+([a-zA-Z_][a-zA-Z0-9_]*)\p{space}*[\(\{]/dgv,beginCaptures:{"1":{name:"storage.type.function.cairo"},"2":{name:"entity.name.function"}},contentName:"source.cairo0",end:/\}/dgv,endCaptures:{"0":{name:"storage.type.function.cairo"}},name:"meta.function.cairo",patterns:[{include:"source.cairo0"}]},{begin:/\b(struct|namespace)\p{space}+([a-zA-Z_][a-zA-Z0-9_]*)\p{space}*\{/dgv,beginCaptures:{"1":{name:"storage.type.function.cairo"},"2":{name:"entity.name.function"}},contentName:"source.cairo0",end:/\}/dgv,endCaptures:{"0":{name:"storage.type.function.cairo"}},name:"meta.function.cairo",patterns:[{include:"source.cairo0"}]},{match:/\b[\+\-]?[0-9]+\b/dgv,name:"constant.numeric.decimal"},{match:/\b[\+\-]?0x[0-9a-fA-F]+\b/dgv,name:"constant.numeric.hexadecimal"},{match:/'[^']*'/dgv,name:"string.quoted.single"},{match:/"[^"]*"/dgv,name:"string.quoted.double"},{begin:/%\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.python"}},contentName:"source.python",end:/%\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.python"},"1":{name:"source.python"}},name:"meta.embedded.block.python",patterns:[{include:"source.python"}]}],scopeName:"source.cairo0",embeddedLangs:["python"],aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Cairo",name:"cairo",patterns:[{begin:/\b(if)[^\n]*\(/dgv,beginCaptures:{"1":{name:"keyword.control.if"},"2":{name:"entity.name.condition"}},contentName:"source.cairo0",end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.end"}},name:"meta.control.if",patterns:[{include:"source.cairo0"}]},{begin:/\b(with)\p{space}+([^\n]+)\p{space}*\{/dgv,beginCaptures:{"1":{name:"keyword.control.with"},"2":{name:"entity.name.identifiers"}},contentName:"source.cairo0",end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.end"}},name:"meta.control.with",patterns:[{include:"source.cairo0"}]},{begin:/\b(with_attr)\p{space}+([a-zA-Z_][a-zA-Z0-9_]*)\p{space}*[\(\{]/dgv,beginCaptures:{"1":{name:"keyword.control.with_attr"},"2":{name:"entity.name.function"}},contentName:"source.cairo0",end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.end"}},name:"meta.control.with_attr",patterns:[{include:"source.cairo0"}]},{match:/\belse\b/dgv,name:"keyword.control.else"},{match:/\b(call|jmp|ret|abs|rel|if)\b/dgv,name:"keyword.other.opcode"},{match:/\b(ap|fp)\b/dgv,name:"keyword.other.register"},{match:/\b(const|let|local|tempvar|felt|as|from|import|static_assert|return|assert|cast|alloc_locals|with|with_attr|nondet|dw|codeoffset|new|using|and)\b/dgv,name:"keyword.other.meta"},{match:/\b(SIZE(?:OF_LOCALS|))\b/dgv,name:"markup.italic"},{match:/\/\/[^\n]*\n/dgv,name:"comment.line.sharp"},{match:/\b[a-zA-Z_][a-zA-Z0-9_]*:\p{space}*(?=\n?$)/dgv,name:"entity.name.function"},{begin:/\b(func)\p{space}+([a-zA-Z_][a-zA-Z0-9_]*)\p{space}*[\(\{]/dgv,beginCaptures:{"1":{name:"storage.type.function.cairo"},"2":{name:"entity.name.function"}},contentName:"source.cairo0",end:/\}/dgv,endCaptures:{"0":{name:"storage.type.function.cairo"}},name:"meta.function.cairo",patterns:[{include:"source.cairo0"}]},{begin:/\b(struct|namespace)\p{space}+([a-zA-Z_][a-zA-Z0-9_]*)\p{space}*\{/dgv,beginCaptures:{"1":{name:"storage.type.function.cairo"},"2":{name:"entity.name.function"}},contentName:"source.cairo0",end:/\}/dgv,endCaptures:{"0":{name:"storage.type.function.cairo"}},name:"meta.function.cairo",patterns:[{include:"source.cairo0"}]},{match:/\b[\+\-]?[0-9]+\b/dgv,name:"constant.numeric.decimal"},{match:/\b[\+\-]?0x\p{AHex}+\b/dgv,name:"constant.numeric.hexadecimal"},{match:/'[^']*'/dgv,name:"string.quoted.single"},{match:/"[^"]*"/dgv,name:"string.quoted.double"},{begin:/%\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.python"}},contentName:"source.python",end:/%\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.python"},"1":{name:"source.python"}},name:"meta.embedded.block.python",patterns:[{include:"source.python"}]}],scopeName:"source.cairo0",embeddedLangs:["python"],aliases:undefined})
4
4
 
5
5
  export default [
6
6
  ...python,