{"name":"Vyper","scopeName":"source.vyper","patterns":[{"name":"comment","match":"\\#.*"},{"name":"comment","begin":"(\\\"\\\"\\\")","end":"(\\\"\\\"\\\")"},{"name":"keyword.control","match":"\\b(event|indexed)\\b"},{"name":"keyword.control","match":"\\b(contract|interface|library|using|struct|constructor|modifier)(\\s+[A-Za-z_]\\w*)?(?:\\s+is\\s+((?:[A-Za-z_][\\,\\s]*)*))?\\b","captures":{"2":{"name":"entity.name.function"},"3":{"name":"entity.name.function"}}},{"name":"keyword","match":"\\b(def)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"},"3":{"name":"entity.name.function"}}},{"name":"constant.language","match":"\\b(True|False)\\b"},{"name":"markup.italic","match":"\\bself\\b"},{"name":"support.type","match":"\\b(address(?:\\s+payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\b"},{"name":"keyword.control","match":"\\b(import|constant|map|raise|payable|storage|memory|calldata|if|else|for|while|do|break|continue|return|private|public|immutable|pure|view|internal|external|this|suicide|selfdestruct|delegatecall|emit|new|is|throw|revert|assert|require|\\_)\\b"},{"name":"keyword","match":"\\b(not|and|or|pass|from|import|as)\\b"},{"name":"markup.italic","match":"(@[A-Za-z_]\\w*)\\b"},{"name":"keyword.operator","match":"(=|!|\u003e|\u003c|\\||\u0026|\\?|\\^|~|\\*|\\+|\\-|\\/|\\%|\\bhex\\b)"},{"match":"\\b(msg|block|tx)\\.([A-Za-z_]\\w*)\\b","captures":{"1":{"name":"support.type"},"2":{"name":"support.type"}}},{"match":"\\b(blockhash|gasleft)\\s*\\(","captures":{"1":{"name":"markup.italic"}}},{"match":"\\b([A-Za-z_]\\w*)(?:\\[(\\d*)\\])?(?:\\[(\\d*)\\])?\\(","captures":{"1":{"name":"entity.name.function"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"}}},{"name":"constant.numeric","match":"\\b(?:[+-]?\\.?\\d[\\d_eE]*)(?:\\.\\d+[\\deE]*)?\\b"},{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9]+)\\b"},{"name":"string.quoted","begin":"(?\u003c!\\\\)[\\\"\\']","end":"(?\u003c!\\\\)[\\\"\\']","patterns":[{"include":"#string"}]}],"repository":{"string":{"patterns":[{"name":"constant.character.escape","match":"\\\\\""},{"name":"constant.character.escape","match":"\\\\'"},{"name":"string.quoted","match":"."}]}}}