Update Vyper lexer for v0.4.x language changes by mo-anon · Pull Request #3053 · pygments/pygments
The Vyper language has had significant changes since v0.4.0. This updates the lexer to support all current syntax and adds comprehensive snippet tests. Keywords: flag (replaces enum), initializes, uses, exports, break, continue, and, or, not, as, delegatecall, UNREACHABLE, True/False as Keyword.Constant. Declarations: external, internal, deploy, payable, transient. Builtins added: raw_create, raw_call, raw_log, raw_revert, abi_encode, abi_decode, blobhash, epsilon, send, selfdestruct, create_forwarder_to, breakpoint. Removed deprecated bitwise_* builtins. Types: all int/uint sizes (8-256 in steps of 8), DynArray, HashMap. Environment variables: block.prevrandao, block.basefee, block.blobbasefee, block.coinbase, block.difficulty, block.gaslimit, block.prevhash, tx.origin, tx.gasprice, chain.id, msg.data, msg.mana. Operators: **, //, <<, >>, ~, :=. Other: # pragma as Comment.Preproc, hex string literals (0x"..."), byte string prefixes (b"..."), generalized import pattern for modules, updated URL to docs.vyperlang.org. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>