const e=Object.freeze({displayName:"Solidity",fileTypes:["sol"],name:"solidity",patterns:[{include:"#natspec"},{include:"#declaration-userType"},{include:"#comment"},{include:"#operator"},{include:"#global"},{include:"#control"},{include:"#constant"},{include:"#primitive"},{include:"#type-primitive"},{include:"#type-modifier-extended-scope"},{include:"#declaration"},{include:"#function-call"},{include:"#assembly"},{include:"#punctuation"}],repository:{assembly:{patterns:[{match:"\\b(assembly)\\b",name:"keyword.control.assembly"},{match:"\\b(let)\\b",name:"storage.type.assembly"}]},comment:{patterns:[{include:"#comment-line"},{include:"#comment-block"}]},"comment-block":{begin:"/\\*",end:"\\*/",name:"comment.block",patterns:[{include:"#comment-todo"}]},"comment-line":{begin:"(?>)",name:"keyword.operator.binary"},"operator-logic":{match:"(==|\\!=|<(?!<)|<=|>(?!>)|>=|\\&\\&|\\|\\||\\:(?!=)|\\?|\\!)",name:"keyword.operator.logic"},"operator-mapping":{match:"(=>)",name:"keyword.operator.mapping"},primitive:{patterns:[{include:"#number-decimal"},{include:"#number-hex"},{include:"#number-scientific"},{include:"#string"}]},punctuation:{patterns:[{match:";",name:"punctuation.terminator.statement"},{match:"\\.",name:"punctuation.accessor"},{match:",",name:"punctuation.separator"},{match:"\\{",name:"punctuation.brace.curly.begin"},{match:"\\}",name:"punctuation.brace.curly.end"},{match:"\\[",name:"punctuation.brace.square.begin"},{match:"\\]",name:"punctuation.brace.square.end"},{match:"\\(",name:"punctuation.parameters.begin"},{match:"\\)",name:"punctuation.parameters.end"}]},string:{patterns:[{match:'\\"(?:\\\\"|[^\\"])*\\"',name:"string.quoted.double"},{match:"\\'(?:\\\\'|[^\\'])*\\'",name:"string.quoted.single"}]},"type-modifier-access":{match:"\\b(internal|external|private|public)\\b",name:"storage.type.modifier.access"},"type-modifier-constant":{match:"\\b(constant)\\b",name:"storage.type.modifier.readonly"},"type-modifier-extended-scope":{match:"\\b(pure|view|inherited|indexed|storage|memory|virtual|calldata|override|abstract)\\b",name:"storage.type.modifier.extendedscope"},"type-modifier-immutable":{match:"\\b(immutable)\\b",name:"storage.type.modifier.readonly"},"type-modifier-payable":{match:"\\b(nonpayable|payable)\\b",name:"storage.type.modifier.payable"},"type-primitive":{patterns:[{begin:"\\b(address|string\\d*|bytes\\d*|int\\d*|uint\\d*|bool|hash\\d*)\\b(?:\\[\\])(\\()",beginCaptures:{1:{name:"support.type.primitive"}},end:"(\\))",patterns:[{include:"#primitive"},{include:"#punctuation"},{include:"#global"},{include:"#variable"}]},{match:"\\b(address|string\\d*|bytes\\d*|int\\d*|uint\\d*|bool|hash\\d*)\\b",name:"support.type.primitive"}]},variable:{patterns:[{captures:{1:{name:"variable.parameter.function"}},match:"\\b(\\_\\w+)\\b"},{captures:{1:{name:"support.variable.property"}},match:"(?:\\.)(\\w+)\\b"},{captures:{1:{name:"variable.parameter.other"}},match:"\\b(\\w+)\\b"}]}},scopeName:"source.solidity"});var t=[e];export{t as default};