{"name":"GSC","scopeName":"source.gsc","patterns":[{"include":"#code"}],"repository":{"block":{"patterns":[{"name":"meta.block.source.gsc","begin":"{","end":"}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.source.gsc"}}},{"name":"meta.devblock.source.gsc","begin":"/#","end":"#/","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.source.gsc"}}}]},"code":{"patterns":[{"include":"#block"},{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#preprocessor"},{"include":"#documentation"},{"include":"#supports"}]},"comments":{"patterns":[{"name":"comment.block.gsc","begin":"/\\*","end":"\\*/\\n?"},{"name":"comment.line.double-slash.gsc","match":"//.*$\\n?"}]},"constants":{"patterns":[{"name":"constant.numeric.source.gsc","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"},{"name":"string.quoted.double.literal.source.gsc","match":"@\"([^\"]|\"\")*\"","captures":{"0":{"name":"punctuation.definition.string.begin.source.gsc"}}},{"name":"string.quoted.double.source.gsc","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.source.gsc","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.source.gsc"}}},{"name":"constant.language.source.gsc","match":"\\b(undefined|false|true|self|world|classes|level|game|anim|vararg)\\b"}]},"documentation":{"patterns":[{"name":"comment.block.documentation.gsc","begin":"/@","end":"@/"}]},"keywords":{"patterns":[{"name":"keyword.control.source.gsc","match":"\\b(if|else|while|for|foreach|in|do|return|continue|break|switch|case|default)\\b"},{"name":"keyword.operator.source.gsc","match":"\\b(size|assert|assertmsg|notify|endon)\\b"},{"name":"keyword.other.source.gsc","match":"\\b(class|function|var|wait|thread|waittill|waittillmatch|waittillframeend|isdefined|constructor|destructor|autoexec|private|const)\\b"}]},"preprocessor":{"patterns":[{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(define)\\b\\s*(\\S*)","captures":{"2":{"name":"entity.name.function.preprocessor.source.gsc"}}},{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(if|ifdef|ifndef|else|elif|endif|define|insert|include|using|precache|using_animtree)\\b","captures":{"2":{"name":"keyword.control.import.source.gsc"}}},{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(namespace)\\b","captures":{"2":{"name":"meta.namespace.identifier"}}}]}}}