@shikijs/langs-precompiled 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abap.mjs +1 -1
- package/dist/ada.mjs +1 -1
- package/dist/angular-expression.mjs +1 -1
- package/dist/angular-ts.mjs +1 -1
- package/dist/applescript.mjs +1 -1
- package/dist/ara.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/astro.mjs +1 -1
- package/dist/awk.mjs +1 -1
- package/dist/ballerina.mjs +1 -1
- package/dist/bat.mjs +1 -1
- package/dist/blade.mjs +1 -1
- package/dist/c.mjs +1 -1
- package/dist/cadence.mjs +1 -1
- package/dist/clarity.mjs +1 -1
- package/dist/cmake.mjs +1 -1
- package/dist/cobol.mjs +1 -1
- package/dist/codeql.mjs +1 -1
- package/dist/coffee.mjs +1 -1
- package/dist/common-lisp.mjs +1 -1
- package/dist/coq.mjs +1 -1
- package/dist/cpp-macro.mjs +1 -1
- package/dist/cpp.mjs +1 -1
- package/dist/crystal.mjs +1 -1
- package/dist/css.mjs +1 -1
- package/dist/cypher.mjs +1 -1
- package/dist/d.mjs +1 -1
- package/dist/dax.mjs +1 -1
- package/dist/dream-maker.mjs +1 -1
- package/dist/elixir.mjs +1 -1
- package/dist/elm.mjs +1 -1
- package/dist/emacs-lisp.mjs +1 -1
- package/dist/erlang.mjs +1 -1
- package/dist/fennel.mjs +1 -1
- package/dist/fortran-free-form.mjs +1 -1
- package/dist/fsharp.mjs +1 -1
- package/dist/gdresource.mjs +1 -1
- package/dist/gdscript.mjs +1 -1
- package/dist/gherkin.mjs +1 -1
- package/dist/gleam.mjs +1 -1
- package/dist/glimmer-js.mjs +1 -1
- package/dist/glimmer-ts.mjs +1 -1
- package/dist/glsl.mjs +1 -1
- package/dist/gnuplot.mjs +1 -1
- package/dist/go.mjs +1 -1
- package/dist/groovy.mjs +1 -1
- package/dist/hack.mjs +1 -1
- package/dist/handlebars.mjs +1 -1
- package/dist/haxe.mjs +1 -1
- package/dist/hlsl.mjs +1 -1
- package/dist/html.mjs +1 -1
- package/dist/imba.mjs +1 -1
- package/dist/java.mjs +1 -1
- package/dist/javascript.mjs +1 -1
- package/dist/jinja.mjs +1 -1
- package/dist/jsonnet.mjs +1 -1
- package/dist/jsx.mjs +1 -1
- package/dist/julia.mjs +1 -1
- package/dist/kusto.mjs +1 -1
- package/dist/latex.mjs +1 -1
- package/dist/lean.mjs +1 -1
- package/dist/less.mjs +1 -1
- package/dist/liquid.mjs +1 -1
- package/dist/llvm.mjs +1 -1
- package/dist/log.mjs +1 -1
- package/dist/logo.mjs +1 -1
- package/dist/luau.mjs +1 -1
- package/dist/make.mjs +1 -1
- package/dist/markdown.mjs +1 -1
- package/dist/marko.mjs +1 -1
- package/dist/matlab.mjs +1 -1
- package/dist/mdc.mjs +1 -1
- package/dist/mdx.mjs +1 -1
- package/dist/mermaid.mjs +1 -1
- package/dist/mipsasm.mjs +1 -1
- package/dist/mojo.mjs +1 -1
- package/dist/nginx.mjs +1 -1
- package/dist/nim.mjs +1 -1
- package/dist/nix.mjs +1 -1
- package/dist/nushell.mjs +1 -1
- package/dist/objective-c.mjs +1 -1
- package/dist/objective-cpp.mjs +1 -1
- package/dist/ocaml.mjs +1 -1
- package/dist/pascal.mjs +1 -1
- package/dist/perl.mjs +1 -1
- package/dist/php.mjs +1 -1
- package/dist/plsql.mjs +1 -1
- package/dist/powershell.mjs +1 -1
- package/dist/prolog.mjs +1 -1
- package/dist/python.mjs +1 -1
- package/dist/qss.mjs +1 -1
- package/dist/r.mjs +1 -1
- package/dist/racket.mjs +1 -1
- package/dist/raku.mjs +1 -1
- package/dist/riscv.mjs +1 -1
- package/dist/ruby.mjs +1 -1
- package/dist/sas.mjs +1 -1
- package/dist/scheme.mjs +1 -1
- package/dist/shaderlab.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/smalltalk.mjs +1 -3
- package/dist/splunk.mjs +1 -1
- package/dist/sql.mjs +1 -1
- package/dist/stata.mjs +1 -1
- package/dist/stylus.mjs +1 -1
- package/dist/svelte.mjs +1 -1
- package/dist/system-verilog.mjs +1 -1
- package/dist/systemd.mjs +1 -1
- package/dist/talonscript.mjs +1 -1
- package/dist/templ.mjs +1 -1
- package/dist/terraform.mjs +1 -1
- package/dist/tex.mjs +1 -1
- package/dist/toml.mjs +1 -1
- package/dist/tsx.mjs +1 -1
- package/dist/typescript.mjs +1 -1
- package/dist/typst.mjs +1 -1
- package/dist/v.mjs +1 -1
- package/dist/vala.mjs +1 -1
- package/dist/vb.mjs +1 -1
- package/dist/vhdl.mjs +1 -1
- package/dist/viml.mjs +1 -1
- package/dist/vyper.mjs +1 -1
- package/dist/wasm.mjs +1 -1
- package/dist/wikitext.mjs +1 -1
- package/dist/wolfram.mjs +1 -1
- package/dist/zenscript.mjs +1 -1
- package/package.json +4 -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-Z_a-z][0-9A-Z_a-z]*|(?<=[\]\)]))\p{space}*(?:(\.)|(->))((?:[A-Z_a-z][0-9A-Z_a-z]*\p{space}*(?:\.|->))*)\p{space}*([A-Z_a-z][0-9A-Z_a-z]*)(\()/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-Z_a-z][0-9A-Z_a-z]*/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|int16|int32|int64|uint8|uint16|uint32|uint64|int_least8|int_least16|int_least32|int_least64|uint_least8|uint_least16|uint_least32|uint_least64|int_fast8|int_fast16|int_fast32|int_fast64|uint_fast8|uint_fast16|uint_fast32|uint_fast64|intptr|uintptr|intmax|intmax|uintmax|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([0-9A-Z_a-z]+_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_|cond_|condattr_|mutex_|mutexattr_|once_|rwlock_|rwlockattr_||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-Z_a-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-Z_a-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-Z_a-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-Z_a-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-Z_a-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-Z_a-z][0-9A-Z_a-z]*|(?<=[\]\)]))?(\[)(?!\])/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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=[\]\)]))\p{space}*)(?:(\.(?:\*|))|(->(?:\*|)))/dgv}]},"5":{name:"variable.other.member.c"}},match:/((?:[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=[\]\)]))\p{space}*)(?:(\.(?:\*|))|(->(?:\*|)))((?:[A-Z_a-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-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\b(?!\())/dgv},method_access:{begin:/((?:[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=[\]\)]))\p{space}*)(?:(\.(?:\*|))|(->(?:\*|)))((?:[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*(?:\.(?:\*|)|->(?:\*|))\p{space}*)*)\p{space}*([A-Z_a-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-Z_a-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}))*))?([FLfl](?![\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[BXbx]))([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}))*))?([FLfl](?![\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[BXbx]))([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-Z_a-z]|(?<=[EPep])[\-\+])+/dgv,name:"invalid.illegal.constant.numeric"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:['\.0-9A-Z_a-z]|(?<=[EPep])[\-\+])*/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-Z_a-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-Z_a-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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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:/(?<=[0-9A-Z_a-z] |[\]\&\)\*\>])\p{space}*([A-Z_a-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-Z_a-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|[Ljlqtz]|vh|vl|v|hv|hl)?[\%AC-GOSUXac-ginopsux]/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:/(?<=\}|%>|\?\?>)[\n\p{space}]*/dgv,end:/[\n\p{space}]*(?=;)/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-Z_a-z][0-9A-Z_a-z]*|(?<=[\]\)]))\p{space}*(?:(\.)|(->))((?:[A-Z_a-z][0-9A-Z_a-z]*\p{space}*(?:\.|->))*)\p{space}*([A-Z_a-z][0-9A-Z_a-z]*)(\()/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-Z_a-z][0-9A-Z_a-z]*/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|int16|int32|int64|uint8|uint16|uint32|uint64|int_least8|int_least16|int_least32|int_least64|uint_least8|uint_least16|uint_least32|uint_least64|int_fast8|int_fast16|int_fast32|int_fast64|uint_fast8|uint_fast16|uint_fast32|uint_fast64|intptr|uintptr|intmax|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([0-9A-Z_a-z]+_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_|cond_|condattr_|mutex_|mutexattr_|once_|rwlock_|rwlockattr_||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-Z_a-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-Z_a-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-Z_a-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-Z_a-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|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-Z_a-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-Z_a-z][0-9A-Z_a-z]*|(?<=[\]\)]))?(\[)(?!\])/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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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?))\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|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|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|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?))\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|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|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|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?))\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|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|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=[\]\)]))\p{space}*)(?:(\.\*?)|(->\*?))/dgv}]},"5":{name:"variable.other.member.c"}},match:/((?:[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=[\]\)]))\p{space}*)(?:(\.\*?)|(->\*?))((?:[A-Z_a-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|blkcnt_t|uint16_t|unsigned|_Complex|uint32_t|intptr_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-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\b(?!\())/dgv},method_access:{begin:/((?:[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*|(?<=[\]\)]))\p{space}*)(?:(\.\*?)|(->\*?))((?:[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*(?:\.\*?|->\*?)\p{space}*)*)\p{space}*([A-Z_a-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-Z_a-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}))*))?([FLfl](?![\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[BXbx]))([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}))*))?([FLfl](?![\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[BXbx]))([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-Z_a-z]|(?<=[EPep])[\-\+])+/dgv,name:"invalid.illegal.constant.numeric"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:['\.0-9A-Z_a-z]|(?<=[EPep])[\-\+])*/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__|__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_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-Z_a-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-Z_a-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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\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:/(?<=[0-9A-Z_a-z] |[\]\&\)\*\>])\p{space}*([A-Z_a-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\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|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|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)(?![\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-Z_a-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?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[\%AC-GOSUXac-ginopsux]/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:/(?<=\}|%>|\?\?>)[\n\p{space}]*/dgv,end:/[\n\p{space}]*(?=;)/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\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:/[\n\r]/dgv,name:"invalid.illegal.returns-not-allowed.cadence"},{include:"#string-guts"}]}],repository:{"string-guts":{patterns:[{match:/\\["'0\\nrt]/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"]})
|
|
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:/[\n\r]/dgv,name:"invalid.illegal.returns-not-allowed.cadence"},{include:"#string-guts"}]}],repository:{"string-guts":{patterns:[{match:/\\["'0\\nrt]/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/clarity.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze({displayName:"Clarity",name:"clarity",patterns:[{include:"#expression"},{include:"#define-constant"},{include:"#define-data-var"},{include:"#define-map"},{include:"#define-function"},{include:"#define-fungible-token"},{include:"#define-non-fungible-token"},{include:"#define-trait"},{include:"#use-trait"}],repository:{"built-in-func":{begin:/(\()\p{space}*([\-\+]|<=|>=|[\*\/\<\>]|and|append|as-contract|as-max-len\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\?|contract-of|default-to|element-at|element-at\?|filter|fold|from-consensus-buff\?|ft-burn\?|ft-get-balance|ft-get-supply|ft-mint\?|ft-transfer\?|get-block-info\?|get-burn-block-info\?|get-stacks-block-info\?|get-tenure-info\?|get-burn-block-info\?|hash160|if|impl-trait|index-of|index-of\?|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\?|nft-get-owner\?|nft-mint\?|nft-transfer\?|not|or|pow|principal-construct\?|principal-destruct\?|principal-of\?|print|replace-at\?|secp256k1-recover\?|secp256k1-verify|sha256|sha512|sha512\/256|slice\?|sqrti|string-to-int\?|string-to-uint\?|stx-account|stx-burn\?|stx-get-balance|stx-transfer-memo\?|stx-transfer\?|to-consensus-buff\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.built-in-function.start.clarity"},"2":{name:"keyword.declaration.built-in-function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.built-in-function.end.clarity"}},name:"meta.built-in-function",patterns:[{include:"#expression"},{include:"#user-func"}]},comment:{match:/(?<=^|[\]"'\(\)\,\;\[\`\{\}\p{space}])(;)[^\n]*(?=\n?$)/dgv,name:"comment.line.semicolon.clarity"},"data-type":{patterns:[{include:"#comment"},{match:/\b((?:u|)int)\b/dgv,name:"entity.name.type.numeric.clarity"},{match:/\b(principal)\b/dgv,name:"entity.name.type.principal.clarity"},{match:/\b(bool)\b/dgv,name:"entity.name.type.bool.clarity"},{captures:{"1":{name:"punctuation.string_type-def.start.clarity"},"2":{name:"entity.name.type.string_type.clarity"},"3":{name:"constant.numeric.string_type-len.clarity"},"4":{name:"punctuation.string_type-def.end.clarity"}},match:/(\()\p{space}*(string-(?:ascii|utf8))\p{space}+(\p{Nd}+)\p{space}*(\))/dgv},{captures:{"1":{name:"punctuation.buff-def.start.clarity"},"2":{name:"entity.name.type.buff.clarity"},"3":{name:"constant.numeric.buf-len.clarity"},"4":{name:"punctuation.buff-def.end.clarity"}},match:/(\()\p{space}*(buff)\p{space}+(\p{Nd}+)\p{space}*(\))/dgv},{begin:/(\()\p{space}*(optional)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.optional-def.start.clarity"},"2":{name:"storage.type.modifier"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.optional-def.end.clarity"}},name:"meta.optional-def",patterns:[{include:"#data-type"}]},{begin:/(\()\p{space}*(response)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.response-def.start.clarity"},"2":{name:"storage.type.modifier"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.response-def.end.clarity"}},name:"meta.response-def",patterns:[{include:"#data-type"}]},{begin:/(\()\p{space}*(list)\p{space}+(\p{Nd}+)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.list-def.start.clarity"},"2":{name:"entity.name.type.list.clarity"},"3":{name:"constant.numeric.list-len.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.list-def.end.clarity"}},name:"meta.list-def",patterns:[{include:"#data-type"}]},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.tuple-def.start.clarity"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.tuple-def.end.clarity"}},name:"meta.tuple-def",patterns:[{match:/([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)(?=:)/dgv,name:"entity.name.tag.tuple-data-type-key.clarity"},{include:"#data-type"}]}]},"define-constant":{begin:/(\()\p{space}*(define-constant)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-constant.start.clarity"},"2":{name:"keyword.declaration.define-constant.clarity"},"3":{name:"entity.name.constant-name.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-constant.end.clarity"}},name:"meta.define-constant",patterns:[{include:"#expression"}]},"define-data-var":{begin:/(\()\p{space}*(define-data-var)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-data-var.start.clarity"},"2":{name:"keyword.declaration.define-data-var.clarity"},"3":{name:"entity.name.data-var-name.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-data-var.end.clarity"}},name:"meta.define-data-var",patterns:[{include:"#data-type"},{include:"#expression"}]},"define-function":{begin:/(\()\p{space}*(define-(?:public|private|read-only))\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-function.start.clarity"},"2":{name:"keyword.declaration.define-function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-function.end.clarity"}},name:"meta.define-function",patterns:[{include:"#expression"},{begin:/(\()\p{space}*([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.function-signature.start.clarity"},"2":{name:"entity.name.function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.function-signature.end.clarity"}},name:"meta.define-function-signature",patterns:[{begin:/(\()\p{space}*([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.function-argument.start.clarity"},"2":{name:"variable.parameter.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.function-argument.end.clarity"}},name:"meta.function-argument",patterns:[{include:"#data-type"}]}]},{include:"#user-func"}]},"define-fungible-token":{captures:{"1":{name:"punctuation.define-fungible-token.start.clarity"},"2":{name:"keyword.declaration.define-fungible-token.clarity"},"3":{name:"entity.name.fungible-token-name.clarity variable.other.clarity"},"4":{name:"constant.numeric.fungible-token-total-supply.clarity"},"5":{name:"punctuation.define-fungible-token.end.clarity"}},match:/(\()\p{space}*(define-fungible-token)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)(?:\p{space}+(u\p{Nd}+))?/dgv},"define-map":{begin:/(\()\p{space}*(define-map)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-map.start.clarity"},"2":{name:"keyword.declaration.define-map.clarity"},"3":{name:"entity.name.map-name.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-map.end.clarity"}},name:"meta.define-map",patterns:[{include:"#data-type"},{include:"#expression"}]},"define-non-fungible-token":{begin:/(\()\p{space}*(define-non-fungible-token)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-non-fungible-token.start.clarity"},"2":{name:"keyword.declaration.define-non-fungible-token.clarity"},"3":{name:"entity.name.non-fungible-token-name.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-non-fungible-token.end.clarity"}},name:"meta.define-non-fungible-token",patterns:[{include:"#data-type"}]},"define-trait":{begin:/(\()\p{space}*(define-trait)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-trait.start.clarity"},"2":{name:"keyword.declaration.define-trait.clarity"},"3":{name:"entity.name.trait-name.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-trait.end.clarity"}},name:"meta.define-trait",patterns:[{begin:/(\()\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.define-trait-body.start.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-trait-body.end.clarity"}},name:"meta.define-trait-body",patterns:[{include:"#expression"},{begin:/(\()\p{space}*([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.trait-function.start.clarity"},"2":{name:"entity.name.function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.trait-function.end.clarity"}},name:"meta.trait-function",patterns:[{include:"#data-type"},{begin:/(\()\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.trait-function-args.start.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.trait-function-args.end.clarity"}},name:"meta.trait-function-args",patterns:[{include:"#data-type"}]}]}]}]},expression:{patterns:[{include:"#comment"},{include:"#keyword"},{include:"#literal"},{include:"#let-func"},{include:"#built-in-func"},{include:"#get-set-func"}]},"get-set-func":{begin:/(\()\p{space}*(var-get|var-set|map-get\?|map-set|map-insert|map-delete|get)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.get-set-func.start.clarity"},"2":{name:"keyword.control.clarity"},"3":{name:"variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.get-set-func.end.clarity"}},name:"meta.get-set-func",patterns:[{include:"#expression"}]},keyword:{match:/(?<!\P{space})(?!-)\b(?:block-height|burn-block-height|chain-id|contract-caller|is-in-regtest|stacks-block-height|stx-liquid-supply|tenure-height|tx-sender|tx-sponsor?)\b(?!\p{space}*-)/dgv,name:"constant.language.clarity"},"let-func":{begin:/(\()\p{space}*(let)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.let-function.start.clarity"},"2":{name:"keyword.declaration.let-function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.let-function.end.clarity"}},name:"meta.let-function",patterns:[{include:"#expression"},{include:"#user-func"},{begin:/(\()\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.let-var.start.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.let-var.end.clarity"}},name:"meta.let-var",patterns:[{begin:/(\()([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.let-local-var.start.clarity"},"2":{name:"entity.name.let-local-var-name.clarity variable.parameter.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.let-local-var.end.clarity"}},name:"meta.let-local-var",patterns:[{include:"#expression"},{include:"#user-func"}]},{include:"#expression"}]}]},literal:{patterns:[{include:"#number-literal"},{include:"#bool-literal"},{include:"#string-literal"},{include:"#tuple-literal"},{include:"#principal-literal"},{include:"#list-literal"},{include:"#optional-literal"},{include:"#response-literal"}],repository:{"bool-literal":{match:/(?<!\P{space})(?!-)\b(true|false)\b(?!\p{space}*-)/dgv,name:"constant.language.bool.clarity"},"list-literal":{begin:/(\()\p{space}*(list)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.list.start.clarity"},"2":{name:"entity.name.type.list.clarity"}},end:/(\))/dgv,endCaptures:{"1":{names:"punctuation.list.end.clarity"}},name:"meta.list",patterns:[{include:"#expression"},{include:"#user-func"}]},"number-literal":{patterns:[{match:/(?<!\P{space})(?!-)\bu\p{Nd}+\b(?!\p{space}*-)/dgv,name:"constant.numeric.uint.clarity"},{match:/(?<!\P{space})(?!-)\b\p{Nd}+\b(?!\p{space}*-)/dgv,name:"constant.numeric.int.clarity"},{match:/(?<!\P{space})(?!-)\b0x[0-9a-f]*\b(?!\p{space}*-)/dgv,name:"constant.numeric.hex.clarity"}]},"optional-literal":{patterns:[{match:/(?<!\P{space})(?!-)\b(none)\b(?!\p{space}*-)/dgv,name:"constant.language.none.clarity"},{begin:/(\()\p{space}*(some)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.some.start.clarity"},"2":{name:"constant.language.some.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.some.end.clarity"}},name:"meta.some",patterns:[{include:"#expression"}]}]},"principal-literal":{match:/'[0-9A-Z]{28,41}(:?\.[A-Za-z][\-0-9A-Za-z]+){0,2}|(\.[A-Za-z][\-0-9A-Za-z]*){1,2}(?=[\(\)\,\{\}\p{space}]|(?=\n?$))/dgv,name:"constant.other.principal.clarity"},"response-literal":{begin:/(\()\p{space}*(ok|err)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.response.start.clarity"},"2":{name:"constant.language.ok-err.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.response.end.clarity"}},name:"meta.response",patterns:[{include:"#expression"},{include:"#user-func"}]},"string-literal":{patterns:[{begin:/(u?)(")/dgv,beginCaptures:{"1":{name:"string.quoted.utf8.clarity"},"2":{name:"punctuation.definition.string.begin.clarity"}},end:/"/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.clarity"}},name:"string.quoted.double.clarity",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.quote"}]}]},"tuple-literal":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.tuple.start.clarity"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.tuple.end.clarity"}},name:"meta.tuple",patterns:[{match:/([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)(?=:)/dgv,name:"entity.name.tag.tuple-key.clarity"},{include:"#expression"},{include:"#user-func"}]}}},"use-trait":{begin:/(\()\p{space}*(use-trait)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.use-trait.start.clarity"},"2":{name:"keyword.declaration.use-trait.clarity"},"3":{name:"entity.name.trait-alias.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.use-trait.end.clarity"}},name:"meta.use-trait",patterns:[{include:"#literal"}]},"user-func":{begin:/(\()\p{space}*(([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*))\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.user-function.start.clarity"},"2":{name:"entity.name.function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.user-function.end.clarity"}},name:"meta.user-function",patterns:[{include:"#expression"},{include:"$self"}]}},scopeName:"source.clar",embeddedLangs:undefined,aliases:undefined})
|
|
1
|
+
const lang = Object.freeze({displayName:"Clarity",name:"clarity",patterns:[{include:"#expression"},{include:"#define-constant"},{include:"#define-data-var"},{include:"#define-map"},{include:"#define-function"},{include:"#define-fungible-token"},{include:"#define-non-fungible-token"},{include:"#define-trait"},{include:"#use-trait"}],repository:{"built-in-func":{begin:/(\()\p{space}*([\-\+]|<=|>=|[\*\/\<\>]|and|append|as-contract|as-max-len\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\?|contract-of|default-to|element-at\???|filter|fold|from-consensus-buff\?|ft-burn\?|ft-get-balance|ft-get-supply|ft-mint\?|ft-transfer\?|get-block-info\?|get-burn-block-info\?|get-stacks-block-info\?|get-tenure-info\?|get-burn-block-info\?|hash160|if|impl-trait|index-of\???|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\?|nft-get-owner\?|nft-mint\?|nft-transfer\?|not|or|pow|principal-construct\?|principal-destruct\?|principal-of\?|print|replace-at\?|secp256k1-recover\?|secp256k1-verify|sha256|sha512|sha512\/256|slice\?|sqrti|string-to-int\?|string-to-uint\?|stx-account|stx-burn\?|stx-get-balance|stx-transfer-memo\?|stx-transfer\?|to-consensus-buff\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.built-in-function.start.clarity"},"2":{name:"keyword.declaration.built-in-function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.built-in-function.end.clarity"}},name:"meta.built-in-function",patterns:[{include:"#expression"},{include:"#user-func"}]},comment:{match:/(?<=^|[\]"'\(\)\,\;\[\`\{\}\p{space}])(;)[^\n]*(?=\n?$)/dgv,name:"comment.line.semicolon.clarity"},"data-type":{patterns:[{include:"#comment"},{match:/\b(u?int)\b/dgv,name:"entity.name.type.numeric.clarity"},{match:/\b(principal)\b/dgv,name:"entity.name.type.principal.clarity"},{match:/\b(bool)\b/dgv,name:"entity.name.type.bool.clarity"},{captures:{"1":{name:"punctuation.string_type-def.start.clarity"},"2":{name:"entity.name.type.string_type.clarity"},"3":{name:"constant.numeric.string_type-len.clarity"},"4":{name:"punctuation.string_type-def.end.clarity"}},match:/(\()\p{space}*(string-(?:ascii|utf8))\p{space}+(\p{Nd}+)\p{space}*(\))/dgv},{captures:{"1":{name:"punctuation.buff-def.start.clarity"},"2":{name:"entity.name.type.buff.clarity"},"3":{name:"constant.numeric.buf-len.clarity"},"4":{name:"punctuation.buff-def.end.clarity"}},match:/(\()\p{space}*(buff)\p{space}+(\p{Nd}+)\p{space}*(\))/dgv},{begin:/(\()\p{space}*(optional)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.optional-def.start.clarity"},"2":{name:"storage.type.modifier"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.optional-def.end.clarity"}},name:"meta.optional-def",patterns:[{include:"#data-type"}]},{begin:/(\()\p{space}*(response)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.response-def.start.clarity"},"2":{name:"storage.type.modifier"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.response-def.end.clarity"}},name:"meta.response-def",patterns:[{include:"#data-type"}]},{begin:/(\()\p{space}*(list)\p{space}+(\p{Nd}+)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.list-def.start.clarity"},"2":{name:"entity.name.type.list.clarity"},"3":{name:"constant.numeric.list-len.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.list-def.end.clarity"}},name:"meta.list-def",patterns:[{include:"#data-type"}]},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.tuple-def.start.clarity"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.tuple-def.end.clarity"}},name:"meta.tuple-def",patterns:[{match:/([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)(?=:)/dgv,name:"entity.name.tag.tuple-data-type-key.clarity"},{include:"#data-type"}]}]},"define-constant":{begin:/(\()\p{space}*(define-constant)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-constant.start.clarity"},"2":{name:"keyword.declaration.define-constant.clarity"},"3":{name:"entity.name.constant-name.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-constant.end.clarity"}},name:"meta.define-constant",patterns:[{include:"#expression"}]},"define-data-var":{begin:/(\()\p{space}*(define-data-var)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-data-var.start.clarity"},"2":{name:"keyword.declaration.define-data-var.clarity"},"3":{name:"entity.name.data-var-name.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-data-var.end.clarity"}},name:"meta.define-data-var",patterns:[{include:"#data-type"},{include:"#expression"}]},"define-function":{begin:/(\()\p{space}*(define-(?:public|private|read-only))\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-function.start.clarity"},"2":{name:"keyword.declaration.define-function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-function.end.clarity"}},name:"meta.define-function",patterns:[{include:"#expression"},{begin:/(\()\p{space}*([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.function-signature.start.clarity"},"2":{name:"entity.name.function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.function-signature.end.clarity"}},name:"meta.define-function-signature",patterns:[{begin:/(\()\p{space}*([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.function-argument.start.clarity"},"2":{name:"variable.parameter.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.function-argument.end.clarity"}},name:"meta.function-argument",patterns:[{include:"#data-type"}]}]},{include:"#user-func"}]},"define-fungible-token":{captures:{"1":{name:"punctuation.define-fungible-token.start.clarity"},"2":{name:"keyword.declaration.define-fungible-token.clarity"},"3":{name:"entity.name.fungible-token-name.clarity variable.other.clarity"},"4":{name:"constant.numeric.fungible-token-total-supply.clarity"},"5":{name:"punctuation.define-fungible-token.end.clarity"}},match:/(\()\p{space}*(define-fungible-token)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)(?:\p{space}+(u\p{Nd}+))?/dgv},"define-map":{begin:/(\()\p{space}*(define-map)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-map.start.clarity"},"2":{name:"keyword.declaration.define-map.clarity"},"3":{name:"entity.name.map-name.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-map.end.clarity"}},name:"meta.define-map",patterns:[{include:"#data-type"},{include:"#expression"}]},"define-non-fungible-token":{begin:/(\()\p{space}*(define-non-fungible-token)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-non-fungible-token.start.clarity"},"2":{name:"keyword.declaration.define-non-fungible-token.clarity"},"3":{name:"entity.name.non-fungible-token-name.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-non-fungible-token.end.clarity"}},name:"meta.define-non-fungible-token",patterns:[{include:"#data-type"}]},"define-trait":{begin:/(\()\p{space}*(define-trait)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.define-trait.start.clarity"},"2":{name:"keyword.declaration.define-trait.clarity"},"3":{name:"entity.name.trait-name.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-trait.end.clarity"}},name:"meta.define-trait",patterns:[{begin:/(\()\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.define-trait-body.start.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.define-trait-body.end.clarity"}},name:"meta.define-trait-body",patterns:[{include:"#expression"},{begin:/(\()\p{space}*([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.trait-function.start.clarity"},"2":{name:"entity.name.function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.trait-function.end.clarity"}},name:"meta.trait-function",patterns:[{include:"#data-type"},{begin:/(\()\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.trait-function-args.start.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.trait-function-args.end.clarity"}},name:"meta.trait-function-args",patterns:[{include:"#data-type"}]}]}]}]},expression:{patterns:[{include:"#comment"},{include:"#keyword"},{include:"#literal"},{include:"#let-func"},{include:"#built-in-func"},{include:"#get-set-func"}]},"get-set-func":{begin:/(\()\p{space}*(var-get|var-set|map-get\?|map-set|map-insert|map-delete|get)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.get-set-func.start.clarity"},"2":{name:"keyword.control.clarity"},"3":{name:"variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.get-set-func.end.clarity"}},name:"meta.get-set-func",patterns:[{include:"#expression"}]},keyword:{match:/(?<!\P{space})(?!-)\b(?:block-height|burn-block-height|chain-id|contract-caller|is-in-regtest|stacks-block-height|stx-liquid-supply|tenure-height|tx-sender|tx-sponsor?)\b(?!\p{space}*-)/dgv,name:"constant.language.clarity"},"let-func":{begin:/(\()\p{space}*(let)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.let-function.start.clarity"},"2":{name:"keyword.declaration.let-function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.let-function.end.clarity"}},name:"meta.let-function",patterns:[{include:"#expression"},{include:"#user-func"},{begin:/(\()\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.let-var.start.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.let-var.end.clarity"}},name:"meta.let-var",patterns:[{begin:/(\()([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.let-local-var.start.clarity"},"2":{name:"entity.name.let-local-var-name.clarity variable.parameter.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.let-local-var.end.clarity"}},name:"meta.let-local-var",patterns:[{include:"#expression"},{include:"#user-func"}]},{include:"#expression"}]}]},literal:{patterns:[{include:"#number-literal"},{include:"#bool-literal"},{include:"#string-literal"},{include:"#tuple-literal"},{include:"#principal-literal"},{include:"#list-literal"},{include:"#optional-literal"},{include:"#response-literal"}],repository:{"bool-literal":{match:/(?<!\P{space})(?!-)\b(true|false)\b(?!\p{space}*-)/dgv,name:"constant.language.bool.clarity"},"list-literal":{begin:/(\()\p{space}*(list)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.list.start.clarity"},"2":{name:"entity.name.type.list.clarity"}},end:/(\))/dgv,endCaptures:{"1":{names:"punctuation.list.end.clarity"}},name:"meta.list",patterns:[{include:"#expression"},{include:"#user-func"}]},"number-literal":{patterns:[{match:/(?<!\P{space})(?!-)\bu\p{Nd}+\b(?!\p{space}*-)/dgv,name:"constant.numeric.uint.clarity"},{match:/(?<!\P{space})(?!-)\b\p{Nd}+\b(?!\p{space}*-)/dgv,name:"constant.numeric.int.clarity"},{match:/(?<!\P{space})(?!-)\b0x[0-9a-f]*\b(?!\p{space}*-)/dgv,name:"constant.numeric.hex.clarity"}]},"optional-literal":{patterns:[{match:/(?<!\P{space})(?!-)\b(none)\b(?!\p{space}*-)/dgv,name:"constant.language.none.clarity"},{begin:/(\()\p{space}*(some)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.some.start.clarity"},"2":{name:"constant.language.some.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.some.end.clarity"}},name:"meta.some",patterns:[{include:"#expression"}]}]},"principal-literal":{match:/'[0-9A-Z]{28,41}(:?\.[A-Za-z][\-0-9A-Za-z]+){0,2}|(\.[A-Za-z][\-0-9A-Za-z]*){1,2}(?=[\(\)\,\{\}\p{space}]|(?=\n?$))/dgv,name:"constant.other.principal.clarity"},"response-literal":{begin:/(\()\p{space}*(ok|err)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.response.start.clarity"},"2":{name:"constant.language.ok-err.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.response.end.clarity"}},name:"meta.response",patterns:[{include:"#expression"},{include:"#user-func"}]},"string-literal":{patterns:[{begin:/(u?)(")/dgv,beginCaptures:{"1":{name:"string.quoted.utf8.clarity"},"2":{name:"punctuation.definition.string.begin.clarity"}},end:/"/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.clarity"}},name:"string.quoted.double.clarity",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.quote"}]}]},"tuple-literal":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.tuple.start.clarity"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.tuple.end.clarity"}},name:"meta.tuple",patterns:[{match:/([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)(?=:)/dgv,name:"entity.name.tag.tuple-key.clarity"},{include:"#expression"},{include:"#user-func"}]}}},"use-trait":{begin:/(\()\p{space}*(use-trait)\p{space}+([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv,beginCaptures:{"1":{name:"punctuation.use-trait.start.clarity"},"2":{name:"keyword.declaration.use-trait.clarity"},"3":{name:"entity.name.trait-alias.clarity variable.other.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.use-trait.end.clarity"}},name:"meta.use-trait",patterns:[{include:"#literal"}]},"user-func":{begin:/(\()\p{space}*(([A-Za-z][\-\!\?\p{L}\p{M}\p{N}\p{Pc}]*))\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.user-function.start.clarity"},"2":{name:"entity.name.function.clarity"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.user-function.end.clarity"}},name:"meta.user-function",patterns:[{include:"#expression"},{include:"$self"}]}},scopeName:"source.clar",embeddedLangs:undefined,aliases:undefined})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|