|e{@dZddlZddlmZmZmZmZmZddlm Z m Z m Z m Z m Z mZmZmZmZmZmZddlmZmZddlmZmZmZmZmZddlmZmZm Z m!Z!m"Z"ddlm#Z#gd Z$ejJd Z&ejJd Z'ejJd ejPZ)ejJd ejPZ*ejJdZ+ejJdZ,ejJdejPZ-ejJdejPZ.ejJdZ/dZ0GddZ1Gdde1eZ2Gdde1eZ3Gdde1eZ4ejJdZ5ejJdZ6ejJdZ7ejJdZ6ejJd Z8ejJd!Z9Gd"d#Z:Gd$d%eZ;Gd&d'eZ<Gd(d)eZ=Gd*d+eZ>Gd,d-eZ?Gd.d/eZ@Gd0d1eZAy)2a pygments.lexers.sql ~~~~~~~~~~~~~~~~~~~ Lexers for various SQL dialects and related interactive sessions. Postgres specific lexers: `PostgresLexer` A SQL lexer for the PostgreSQL dialect. Differences w.r.t. the SQL lexer are: - keywords and data types list parsed from the PG docs (run the `_postgres_builtins` module to update them); - Content of $-strings parsed using a specific lexer, e.g. the content of a PL/Python function is parsed using the Python lexer; - parse PG specific constructs: E-strings, $-strings, U&-strings, different operators and punctuation. `PlPgsqlLexer` A lexer for the PL/pgSQL language. Adds a few specific construct on top of the PG SQL lexer (such as <