o a@sdZddlZddlmZmZmZmZmZddlm Z m Z m Z m Z m Z mZmZmZmZmZmZddlmZmZddlmZmZmZmZddlmZmZmZm Z m!Z!ddlm"Z"gd Z#e$d Z%e$d Z&e$d ej'Z(e$d ej'Z)e$dZ*e$dZ+e$dej'Z,e$dej'Z-e$dZ.ddZ/GdddZ0Gddde0eZ1Gddde0eZ2Gddde0eZ3e$dZ4e$dZ5e$dZ6e$d Z5e$d!Z7e$d"Z8Gd#d$d$Z9Gd%d&d&eZ:Gd'd(d(eZ;Gd)d*d*eZGd/d0d0eZ?dS)1a 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 <