const a=Object.freeze({displayName:"Smalltalk",fileTypes:["st"],foldingStartMarker:"\\[",foldingStopMarker:"^\\s*\\]|^\\s\\]",name:"smalltalk",patterns:[{match:"\\$.",name:"constant.character.smalltalk"},{match:"\\b(class)\\b",name:"storage.type.$1.smalltalk"},{match:"\\b(extend|super|self)\\b",name:"storage.modifier.$1.smalltalk"},{match:"\\b(yourself|new|Smalltalk)\\b",name:"keyword.control.$1.smalltalk"},{match:":=",name:"keyword.operator.assignment.smalltalk"},{comment:"Parse the variable declaration like: |a b c|",match:"/^:\\w*\\s*\\|/",name:"constant.other.block.smalltalk"},{captures:{1:{name:"punctuation.definition.instance-variables.begin.smalltalk"},2:{patterns:[{match:"\\w+",name:"support.type.variable.declaration.smalltalk"}]},3:{name:"punctuation.definition.instance-variables.end.smalltalk"}},match:"(\\|)(\\s*\\w[\\w ]*)(\\|)"},{captures:{1:{patterns:[{match:":\\w+",name:"entity.name.function.block.smalltalk"}]}},comment:"Parse the blocks like: [ :a :b | ...... ]",match:"\\[((\\s+|:\\w+)*)\\|"},{include:"#numeric"},{match:"<(?!<|=)|>(?!<|=|>)|<=|>=|=|==|~=|~~|>>|\\^",name:"keyword.operator.comparison.smalltalk"},{match:"(\\*|\\+|\\-|/|\\\\)",name:"keyword.operator.arithmetic.smalltalk"},{match:"(?<=[ \\t])!+|\\bnot\\b|&|\\band\\b|\\||\\bor\\b",name:"keyword.operator.logical.smalltalk"},{comment:"Fake reserved word -> main Smalltalk messages",match:"(?[a-zA-Z_]\\w*(?>[?!])?)(:)(?!:)",name:"constant.other.messages.smalltalk"},{captures:{1:{name:"punctuation.definition.constant.smalltalk"}},comment:"symbols",match:"(#)[a-zA-Z_][a-zA-Z0-9_:]*",name:"constant.other.symbol.smalltalk"},{begin:"#\\[",beginCaptures:[{name:"punctuation.definition.constant.begin.smalltalk"}],end:"\\]",endCaptures:[{name:"punctuation.definition.constant.end.smalltalk"}],name:"meta.array.byte.smalltalk",patterns:[{match:"[0-9]+(r[a-zA-Z0-9]+)?",name:"constant.numeric.integer.smalltalk"},{match:"[^\\s\\]]+",name:"invalid.illegal.character-not-allowed-here.smalltalk"}]},{begin:"#\\(",beginCaptures:[{name:"punctuation.definition.constant.begin.smalltalk"}],comment:"Array Constructor",end:"\\)",endCaptures:[{name:"punctuation.definition.constant.end.smalltalk"}],name:"constant.other.array.smalltalk"},{begin:"'",beginCaptures:[{name:"punctuation.definition.string.begin.smalltalk"}],end:"'",endCaptures:[{name:"punctuation.definition.string.end.smalltalk"}],name:"string.quoted.single.smalltalk"},{match:"\\b[A-Z]\\w*\\b",name:"variable.other.constant.smalltalk"}],repository:{numeric:{patterns:[{match:"(?