Files
Basalt2/node_modules/shiki/dist/languages/gdshader.tmLanguage-2e198d22.mjs
Robert Jelic 31787b0e9b Fix
2025-02-16 18:04:24 +01:00

4 lines
5.6 KiB
JavaScript

var gdshader_tmLanguage = {name:"gdshader",scopeName:"source.gdshader",uuid:"3a95d25d-688b-481f-a581-eee47f00e5ca",fileTypes:["gdshader"],patterns:[{include:"#any"}],repository:{any:{patterns:[{include:"#comment"},{include:"#enclosed"},{include:"#classifier"},{include:"#definition"},{include:"#keyword"},{include:"#element"},{include:"#separator"},{include:"#operator"}]},comment:{patterns:[{include:"#commentLine"},{include:"#commentBlock"}]},commentLine:{name:"comment.line.double-slash.gdshader",begin:"//",end:"$"},commentBlock:{name:"comment.block.gdshader",begin:"/\\*",end:"\\*/"},enclosed:{name:"meta.parenthesis.gdshader",begin:"\\(",end:"\\)",captures:{"0":{name:"punctuation.parenthesis.gdshader"}},patterns:[{include:"#any"}]},classifier:{name:"meta.classifier.gdshader",begin:"(?=\\b(?:shader_type|render_mode)\\b)",patterns:[{include:"#comment"},{include:"#keyword"},{include:"#identifierClassification"},{include:"#separator"}],end:"(?<=;)"},classifierKeyword:{name:"keyword.language.classifier.gdshader",match:"\\b(?:shader_type|render_mode)\\b"},identifierClassification:{name:"entity.other.inherited-class.gdshader",match:"\\b[a-z_]+\\b"},definition:{patterns:[{include:"#structDefinition"}]},arraySize:{name:"meta.array-size.gdshader",begin:"\\[",end:"\\]",captures:{"0":{name:"punctuation.bracket.gdshader"}},patterns:[{include:"#comment"},{include:"#keyword"},{include:"#element"},{include:"#separator"}]},structDefinition:{begin:"(?=\\b(?:struct)\\b)",patterns:[{include:"#comment"},{include:"#keyword"},{include:"#structName"},{include:"#structDefinitionBlock"},{include:"#separator"}],end:"(?<=;)"},structKeyword:{name:"keyword.other.struct.gdshader",match:"\\b(?:struct)\\b"},structName:{name:"entity.name.type.struct.gdshader",match:"\\b[a-zA-Z_]\\w*\\b"},structDefinitionBlock:{name:"meta.definition.block.struct.gdshader",begin:"\\{",end:"\\}",captures:{"0":{name:"punctuation.definition.block.struct.gdshader"}},patterns:[{include:"#comment"},{include:"#precisionKeyword"},{include:"#fieldDefinition"},{include:"#keyword"},{include:"#any"}]},fieldDefinition:{name:"meta.definition.field.gdshader",begin:"\\b[a-zA-Z_]\\w*\\b",beginCaptures:{"0":{patterns:[{include:"#typeKeyword"},{match:".+",name:"entity.name.type.gdshader"}]}},patterns:[{include:"#comment"},{include:"#keyword"},{include:"#arraySize"},{include:"#fieldName"},{include:"#any"}],end:"(?<=;)"},fieldName:{name:"entity.name.variable.field.gdshader",match:"\\b[a-zA-Z_]\\w*\\b"},keyword:{patterns:[{include:"#classifierKeyword"},{include:"#structKeyword"},{include:"#controlKeyword"},{include:"#modifierKeyword"},{include:"#precisionKeyword"},{include:"#typeKeyword"},{include:"#hintKeyword"}]},controlKeyword:{name:"keyword.control.gdshader",match:"\\b(?:if|else|do|while|for|continue|break|switch|case|default|return|discard)\\b"},modifierKeyword:{name:"storage.modifier.gdshader",match:"\\b(?:const|global|instance|uniform|varying|in|out|inout|flat|smooth)\\b"},precisionKeyword:{name:"storage.type.built-in.primitive.precision.gdshader",match:"\\b(?:low|medium|high)p\\b"},typeKeyword:{name:"support.type.gdshader",match:"\\b(?:void|bool|[biu]?vec[234]|u?int|float|mat[234]|[iu]?sampler(?:3D|2D(?:Array)?)|samplerCube)\\b"},hintKeyword:{name:"support.type.annotation.gdshader",match:"\\b(?:source_color|hint_(?:color|range|(?:black_)?albedo|normal|(?:default_)?(?:white|black)|aniso|anisotropy|roughness_(?:[rgba]|normal|gray))|filter_(?:nearest|linear)(?:_mipmap(?:_anisotropic)?)?|repeat_(?:en|dis)able)\\b"},element:{patterns:[{include:"#literalFloat"},{include:"#literalInt"},{include:"#literalBool"},{include:"#identifierType"},{include:"#constructor"},{include:"#processorFunction"},{include:"#identifierFunction"},{include:"#swizzling"},{include:"#identifierField"},{include:"#constantFloat"},{include:"#languageVariable"},{include:"#identifierVariable"}]},literalFloat:{name:"constant.numeric.float.gdshader",match:"\\b(?:\\d+[eE][-+]?\\d+|(?:\\d*[.]\\d+|\\d+[.])(?:[eE][-+]?\\d+)?)[fF]?"},literalInt:{name:"constant.numeric.integer.gdshader",match:"\\b(?:0[xX][0-9A-Fa-f]+|\\d+[uU]?)\\b"},literalBool:{name:"constant.language.boolean.gdshader",match:"\\b(?:false|true)\\b"},identifierType:{name:"entity.name.type.gdshader",match:"\\b[a-zA-Z_]\\w*(?=(?:\\s*\\[\\s*\\w*\\s*\\])?\\s+[a-zA-Z_]\\w*\\b)"},constructor:{name:"entity.name.type.constructor.gdshader",match:"\\b[a-zA-Z_]\\w*(?=\\s*\\[\\s*\\w*\\s*\\]\\s*[(])|\\b[A-Z]\\w*(?=\\s*[(])"},processorFunction:{name:"support.function.gdshader",match:"\\b(?:vertex|fragment|light|start|process|sky|fog)(?=(?:\\s|/\\*(?:\\*(?!/)|[^*])*\\*/)*[(])"},identifierFunction:{name:"entity.name.function.gdshader",match:"\\b[a-zA-Z_]\\w*(?=(?:\\s|/\\*(?:\\*(?!/)|[^*])*\\*/)*[(])"},swizzling:{match:"([.])\\s*([xyzw]{2,4}|[rgba]{2,4}|[stpq]{2,4})\\b",captures:{"1":{name:"punctuation.accessor.gdshader"},"2":{name:"variable.other.property.gdshader"}}},identifierField:{match:"([.])\\s*([a-zA-Z_]\\w*)\\b(?!\\s*\\()",captures:{"1":{name:"punctuation.accessor.gdshader"},"2":{name:"entity.name.variable.field.gdshader"}}},constantFloat:{name:"constant.language.float.gdshader",match:"\\b(?:E|PI|TAU)\\b"},languageVariable:{name:"variable.language.gdshader",match:"\\b(?:[A-Z][A-Z_0-9]*)\\b"},identifierVariable:{name:"variable.name.gdshader",match:"\\b[a-zA-Z_]\\w*\\b"},separator:{patterns:[{match:"[.]",name:"punctuation.accessor.gdshader"},{include:"#separatorComma"},{match:"[;]",name:"punctuation.terminator.statement.gdshader"},{match:"[:]",name:"keyword.operator.type.annotation.gdshader"}]},separatorComma:{name:"punctuation.separator.comma.gdshader",match:"[,]"},operator:{name:"keyword.operator.gdshader",match:"\\<\\<\\=?|\\>\\>\\=?|[-+*/&|<>=!]\\=|\\&\\&|[|][|]|[-+~!*/%<>&^|=]"}}};
export { gdshader_tmLanguage as default };