Available lexers — Pygments

- Home
- Languages
- FAQ
- Get it
- Docs

# Available lexers

This page lists all available builtin lexers and the options they take.

Currently, all lexers support these options:

stripnl

  Strip leading and trailing newlines from the input (default: `True`)

stripall

  Strip all leading and trailing whitespace from the input (default: `False`).

ensurenl

  Make sure that the input ends with a newline (default: `True`). This is required for some lexers that consume input linewise.

  New in version 1.3.

tabsize

  If given and greater than 0, expand tabs in the input (default: `0`).

encoding

  If given, must be an encoding name (such as `"utf-8"`). This encoding will be used to convert the input string to Unicode (if it is not already a Unicode string). The default is `"guess"`.

  If this option is set to `"guess"`, a simple UTF-8 vs. Latin-1 detection is used, if it is set to `"chardet"`, the chardet library is used to guess the encoding of the input.

  New in version 0.6.

The “Short Names” field lists the identifiers that can be used with the get_lexer_by_name() function.

These lexers are builtin and can be imported from pygments.lexers:

## Lexers for ActionScript and MXML

class `pygments.lexers.actionscript.` `ActionScript3Lexer`
  Short names

    as3, actionscript3

  Filenames

    *.as

  MIME types

    application/x-actionscript3, text/x-actionscript3, text/actionscript3

  For ActionScript 3 source code.

  New in version 0.11.

class `pygments.lexers.actionscript.` `ActionScriptLexer`
  Short names

    as, actionscript

  Filenames

    *.as

  MIME types

    application/x-actionscript, text/x-actionscript, text/actionscript

  For ActionScript source code.

  New in version 0.9.

class `pygments.lexers.actionscript.` `MxmlLexer`
  Short names

    mxml

  Filenames

    *.mxml

  MIME types

    None

  For MXML markup. Nested AS3 in <script> tags is highlighted by the appropriate lexer.

  New in version 1.1.

## Lexers for computer algebra systems

class `pygments.lexers.algebra.` `BCLexer`
  Short names

    bc

  Filenames

    *.bc

  MIME types

    None

  A BC lexer.

  New in version 2.1.

class `pygments.lexers.algebra.` `GAPLexer`
  Short names

    gap

  Filenames

    *.g, *.gd, *.gi, *.gap

  MIME types

    None

  For GAP source code.

  New in version 2.0.

class `pygments.lexers.algebra.` `MathematicaLexer`
  Short names

    mathematica, mma, nb

  Filenames

    *.nb, *.cdf, *.nbp, *.ma

  MIME types

    application/mathematica, application/vnd.wolfram.mathematica, application/vnd.wolfram.mathematica.package, application/vnd.wolfram.cdf

  Lexer for Mathematica source code.

  New in version 2.0.

class `pygments.lexers.algebra.` `MuPADLexer`
  Short names

    mupad

  Filenames

    *.mu

  MIME types

    None

  A MuPAD lexer. Contributed by Christopher Creutzig <christopher@creutzig.de>.

  New in version 0.8.

## Lexers for AmbientTalk language

class `pygments.lexers.ambient.` `AmbientTalkLexer`
  Short names

    at, ambienttalk, ambienttalk/2

  Filenames

    *.at

  MIME types

    text/x-ambienttalk

  Lexer for AmbientTalk source code.

  New in version 2.0.

## Lexers for the AMPL language

class `pygments.lexers.ampl.` `AmplLexer`
  Short names

    ampl

  Filenames

    *.run

  MIME types

    None

  For AMPL source code.

  New in version 2.2.

## Lexers for APL

class `pygments.lexers.apl.` `APLLexer`
  Short names

    apl

  Filenames

    *.apl

  MIME types

    None

  A simple APL lexer.

  New in version 2.0.

## Lexer for Archetype-related syntaxes, including:

class `pygments.lexers.archetype.` `AdlLexer`
  Short names

    adl

  Filenames

    *.adl, *.adls, *.adlf, *.adlx

  MIME types

    None

  Lexer for ADL syntax.

  New in version 2.1.

class `pygments.lexers.archetype.` `CadlLexer`
  Short names

    cadl

  Filenames

    *.cadl

  MIME types

    None

  Lexer for cADL syntax.

  New in version 2.1.

class `pygments.lexers.archetype.` `OdinLexer`
  Short names

    odin

  Filenames

    *.odin

  MIME types

    text/odin

  Lexer for ODIN syntax.

  New in version 2.1.

## Lexer for Arrow

class `pygments.lexers.arrow.` `ArrowLexer`
  Short names

    arrow

  Filenames

    *.arw

  MIME types

    None

  Lexer for Arrow: https://pypi.org/project/py-arrow-lang/

  New in version 2.7.

## Lexers for assembly languages

class `pygments.lexers.asm.` `CObjdumpLexer`
  Short names

    c-objdump

  Filenames

    *.c-objdump

  MIME types

    text/x-c-objdump

  For the output of `objdump -Sr` on compiled C files.

class `pygments.lexers.asm.` `Ca65Lexer`
  Short names

    ca65

  Filenames

    *.s

  MIME types

    None

  For ca65 assembler sources.

  New in version 1.6.

class `pygments.lexers.asm.` `CppObjdumpLexer`
  Short names

    cpp-objdump, c++-objdumb, cxx-objdump

  Filenames

    *.cpp-objdump, *.c++-objdump, *.cxx-objdump

  MIME types

    text/x-cpp-objdump

  For the output of `objdump -Sr` on compiled C++ files.

class `pygments.lexers.asm.` `DObjdumpLexer`
  Short names

    d-objdump

  Filenames

    *.d-objdump

  MIME types

    text/x-d-objdump

  For the output of `objdump -Sr` on compiled D files.

class `pygments.lexers.asm.` `Dasm16Lexer`
  Short names

    dasm16

  Filenames

    *.dasm16, *.dasm

  MIME types

    text/x-dasm16

  For DCPU-16 Assembly.

  Check http://0x10c.com/doc/dcpu-16.txt

  New in version 2.4.

class `pygments.lexers.asm.` `GasLexer`
  Short names

    gas, asm

  Filenames

    *.s, *.S

  MIME types

    text/x-gas

  For Gas (AT&T) assembly code.

class `pygments.lexers.asm.` `HsailLexer`
  Short names

    hsail, hsa

  Filenames

    *.hsail

  MIME types

    text/x-hsail

  For HSAIL assembly code.

  New in version 2.2.

class `pygments.lexers.asm.` `LlvmLexer`
  Short names

    llvm

  Filenames

    *.ll

  MIME types

    text/x-llvm

  For LLVM assembly code.

class `pygments.lexers.asm.` `LlvmMirBodyLexer`
  Short names

    llvm-mir-body

  Filenames

    None

  MIME types

    None

  For LLVM MIR examples without the YAML wrapper.

  For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.

  New in version 2.6.

class `pygments.lexers.asm.` `LlvmMirLexer`
  Short names

    llvm-mir

  Filenames

    *.mir

  MIME types

    None

  Lexer for the overall LLVM MIR document format.

  MIR is a human readable serialization format that’s used to represent LLVM’s machine specific intermediate representation. It allows LLVM’s developers to see the state of the compilation process at various points, as well as test individual pieces of the compiler.

  For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.

  New in version 2.6.

class `pygments.lexers.asm.` `NasmLexer`
  Short names

    nasm

  Filenames

    *.asm, *.ASM

  MIME types

    text/x-nasm

  For Nasm (Intel) assembly code.

class `pygments.lexers.asm.` `NasmObjdumpLexer`
  Short names

    objdump-nasm

  Filenames

    *.objdump-intel

  MIME types

    text/x-nasm-objdump

  For the output of `objdump -d -M intel`.

  New in version 2.0.

class `pygments.lexers.asm.` `ObjdumpLexer`
  Short names

    objdump

  Filenames

    *.objdump

  MIME types

    text/x-objdump

  For the output of `objdump -dr`.

class `pygments.lexers.asm.` `TasmLexer`
  Short names

    tasm

  Filenames

    *.asm, *.ASM, *.tasm

  MIME types

    text/x-tasm

  For Tasm (Turbo Assembler) assembly code.

## Lexers for automation scripting languages

class `pygments.lexers.automation.` `AutoItLexer`
  Short names

    autoit

  Filenames

    *.au3

  MIME types

    text/x-autoit

  For AutoIt files.

  AutoIt is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting

  New in version 1.6.

class `pygments.lexers.automation.` `AutohotkeyLexer`
  Short names

    ahk, autohotkey

  Filenames

    *.ahk, *.ahkl

  MIME types

    text/x-autohotkey

  For autohotkey source code.

  New in version 1.4.

## Lexer for the BARE schema

class `pygments.lexers.bare.` `BareLexer`
  Short names

    bare

  Filenames

    *.bare

  MIME types

    None

  For BARE schema schema source.

  New in version 2.7.

## Lexers for BASIC like languages (other than VB.net)

class `pygments.lexers.basic.` `BBCBasicLexer`
  Short names

    bbcbasic

  Filenames

    *.bbc

  MIME types

    None

  BBC Basic was supplied on the BBC Micro, and later Acorn RISC OS. It is also used by BBC Basic For Windows.

  New in version 2.4.

class `pygments.lexers.basic.` `BlitzBasicLexer`
  Short names

    blitzbasic, b3d, bplus

  Filenames

    *.bb, *.decls

  MIME types

    text/x-bb

  For BlitzBasic source code.

  New in version 2.0.

class `pygments.lexers.basic.` `BlitzMaxLexer`
  Short names

    blitzmax, bmax

  Filenames

    *.bmx

  MIME types

    text/x-bmx

  For BlitzMax source code.

  New in version 1.4.

class `pygments.lexers.basic.` `CbmBasicV2Lexer`
  Short names

    cbmbas

  Filenames

    *.bas

  MIME types

    None

  For CBM BASIC V2 sources.

  New in version 1.6.

class `pygments.lexers.basic.` `MonkeyLexer`
  Short names

    monkey

  Filenames

    *.monkey

  MIME types

    text/x-monkey

  For Monkey source code.

  New in version 1.6.

class `pygments.lexers.basic.` `QBasicLexer`
  Short names

    qbasic, basic

  Filenames

    *.BAS, *.bas

  MIME types

    text/basic

  For QBasic source code.

  New in version 2.0.

class `pygments.lexers.basic.` `VBScriptLexer`
  Short names

    vbscript

  Filenames

    *.vbs, *.VBS

  MIME types

    None

  VBScript is scripting language that is modeled on Visual Basic.

  New in version 2.4.

## Lexers for BibTeX bibliography data and styles

class `pygments.lexers.bibtex.` `BSTLexer`
  Short names

    bst, bst-pybtex

  Filenames

    *.bst

  MIME types

    None

  A lexer for BibTeX bibliography styles.

  New in version 2.2.

class `pygments.lexers.bibtex.` `BibTeXLexer`
  Short names

    bib, bibtex

  Filenames

    *.bib

  MIME types

    text/x-bibtex

  A lexer for BibTeX bibliography data format.

  New in version 2.2.

## Lexers for the Boa language

class `pygments.lexers.boa.` `BoaLexer`
  Short names

    boa

  Filenames

    *.boa

  MIME types

    None

  Lexer for the Boa language.

  New in version 2.4.

## Lexers for “business-oriented” languages

class `pygments.lexers.business.` `ABAPLexer`
  Short names

    abap

  Filenames

    *.abap, *.ABAP

  MIME types

    text/x-abap

  Lexer for ABAP, SAP’s integrated language.

  New in version 1.1.

class `pygments.lexers.business.` `CobolFreeformatLexer`
  Short names

    cobolfree

  Filenames

    *.cbl, *.CBL

  MIME types

    None

  Lexer for Free format OpenCOBOL code.

  New in version 1.6.

class `pygments.lexers.business.` `CobolLexer`
  Short names

    cobol

  Filenames

    *.cob, *.COB, *.cpy, *.CPY

  MIME types

    text/x-cobol

  Lexer for OpenCOBOL code.

  New in version 1.6.

class `pygments.lexers.business.` `GoodDataCLLexer`
  Short names

    gooddata-cl

  Filenames

    *.gdc

  MIME types

    text/x-gooddata-cl

  Lexer for GoodData-CL script files.

  New in version 1.4.

class `pygments.lexers.business.` `MaqlLexer`
  Short names

    maql

  Filenames

    *.maql

  MIME types

    text/x-gooddata-maql, application/x-gooddata-maql

  Lexer for GoodData MAQL scripts.

  New in version 1.4.

class `pygments.lexers.business.` `OpenEdgeLexer`
  Short names

    openedge, abl, progress

  Filenames

    *.p, *.cls

  MIME types

    text/x-openedge, application/x-openedge

  Lexer for OpenEdge ABL (formerly Progress) source code.

  New in version 1.5.

## Lexers for C/C++ languages

class `pygments.lexers.c_cpp.` `CLexer`
  Short names

    c

  Filenames

    *.c, *.h, *.idc

  MIME types

    text/x-chdr, text/x-csrc

  For C source code with preprocessor directives.

  Additional options accepted:

  stdlibhighlighting

    Highlight common types found in the C/C++ standard library (e.g. size_t). (default: `True`).

  c99highlighting

    Highlight common types found in the C99 standard library (e.g. int8_t). Actually, this includes all fixed-width integer types. (default: `True`).

  c11highlighting

    Highlight atomic types found in the C11 standard library (e.g. atomic_bool). (default: `True`).

  platformhighlighting

    Highlight common types found in the platform SDK headers (e.g. clockid_t on Linux). (default: `True`).

class `pygments.lexers.c_cpp.` `CppLexer`
  Short names

    cpp, c++

  Filenames

    *.cpp, *.hpp, *.c++, *.h++, *.cc, *.hh, *.cxx, *.hxx, *.C, *.H, *.cp, *.CPP

  MIME types

    text/x-c++hdr, text/x-c++src

  For C++ source code with preprocessor directives.

  Additional options accepted:

  stdlibhighlighting

    Highlight common types found in the C/C++ standard library (e.g. size_t). (default: `True`).

  c99highlighting

    Highlight common types found in the C99 standard library (e.g. int8_t). Actually, this includes all fixed-width integer types. (default: `True`).

  c11highlighting

    Highlight atomic types found in the C11 standard library (e.g. atomic_bool). (default: `True`).

  platformhighlighting

    Highlight common types found in the platform SDK headers (e.g. clockid_t on Linux). (default: `True`).

## Lexers for other C-like languages

class `pygments.lexers.c_like.` `ArduinoLexer`
  Short names

    arduino

  Filenames

    *.ino

  MIME types

    text/x-arduino

  For Arduino(tm) source.

  This is an extension of the CppLexer, as the Arduino® Language is a superset of C++

  New in version 2.1.

class `pygments.lexers.c_like.` `CharmciLexer`
  Short names

    charmci

  Filenames

    *.ci

  MIME types

    None

  For Charm++ interface files (.ci).

  New in version 2.4.

class `pygments.lexers.c_like.` `ClayLexer`
  Short names

    clay

  Filenames

    *.clay

  MIME types

    text/x-clay

  For Clay source.

  New in version 2.0.

class `pygments.lexers.c_like.` `CudaLexer`
  Short names

    cuda, cu

  Filenames

    *.cu, *.cuh

  MIME types

    text/x-cuda

  For NVIDIA CUDA™ source.

  New in version 1.6.

class `pygments.lexers.c_like.` `ECLexer`
  Short names

    ec

  Filenames

    *.ec, *.eh

  MIME types

    text/x-echdr, text/x-ecsrc

  For eC source code with preprocessor directives.

  New in version 1.5.

class `pygments.lexers.c_like.` `MqlLexer`
  Short names

    mql, mq4, mq5, mql4, mql5

  Filenames

    *.mq4, *.mq5, *.mqh

  MIME types

    text/x-mql

  For MQL4 and MQL5 source code.

  New in version 2.0.

class `pygments.lexers.c_like.` `NesCLexer`
  Short names

    nesc

  Filenames

    *.nc

  MIME types

    text/x-nescsrc

  For nesC source code with preprocessor directives.

  New in version 2.0.

class `pygments.lexers.c_like.` `PikeLexer`
  Short names

    pike

  Filenames

    *.pike, *.pmod

  MIME types

    text/x-pike

  For Pike source code.

  New in version 2.0.

class `pygments.lexers.c_like.` `SwigLexer`
  Short names

    swig

  Filenames

    *.swg, *.i

  MIME types

    text/swig

  For SWIG source code.

  New in version 2.0.

class `pygments.lexers.c_like.` `ValaLexer`
  Short names

    vala, vapi

  Filenames

    *.vala, *.vapi

  MIME types

    text/x-vala

  For Vala source code with preprocessor directives.

  New in version 1.1.

## Lexers for the Cap’n Proto schema language

class `pygments.lexers.capnproto.` `CapnProtoLexer`
  Short names

    capnp

  Filenames

    *.capnp

  MIME types

    None

  For Cap’n Proto source.

  New in version 2.2.

## Lexer for the Chapel language

class `pygments.lexers.chapel.` `ChapelLexer`
  Short names

    chapel, chpl

  Filenames

    *.chpl

  MIME types

    None

  For Chapel source.

  New in version 2.0.

## Lexer for the Clean language

class `pygments.lexers.clean.` `CleanLexer`
  Short names

    clean

  Filenames

    *.icl, *.dcl

  MIME types

    None

  Lexer for the general purpose, state-of-the-art, pure and lazy functional programming language Clean (http://clean.cs.ru.nl/Clean).

## Lexers for configuration file formats

class `pygments.lexers.configs.` `ApacheConfLexer`
  Short names

    apacheconf, aconf, apache

  Filenames

    .htaccess, apache.conf, apache2.conf

  MIME types

    text/x-apacheconf

  Lexer for configuration files following the Apache config file format.

  New in version 0.6.

class `pygments.lexers.configs.` `AugeasLexer`
  Short names

    augeas

  Filenames

    *.aug

  MIME types

    None

  Lexer for Augeas.

  New in version 2.4.

class `pygments.lexers.configs.` `Cfengine3Lexer`
  Short names

    cfengine3, cf3

  Filenames

    *.cf

  MIME types

    None

  Lexer for CFEngine3 policy files.

  New in version 1.5.

class `pygments.lexers.configs.` `DockerLexer`
  Short names

    docker, dockerfile

  Filenames

    Dockerfile, *.docker

  MIME types

    text/x-dockerfile-config

  Lexer for Docker configuration files.

  New in version 2.0.

class `pygments.lexers.configs.` `IniLexer`
  Short names

    ini, cfg, dosini

  Filenames

    *.ini, *.cfg, *.inf

  MIME types

    text/x-ini, text/inf

  Lexer for configuration files in INI style.

class `pygments.lexers.configs.` `KconfigLexer`
  Short names

    kconfig, menuconfig, linux-config, kernel-config

  Filenames

    Kconfig*, *Config.in*, external.in*, standard-modules.in

  MIME types

    text/x-kconfig

  For Linux-style Kconfig files.

  New in version 1.6.

class `pygments.lexers.configs.` `LighttpdConfLexer`
  Short names

    lighty, lighttpd

  Filenames

    None

  MIME types

    text/x-lighttpd-conf

  Lexer for Lighttpd configuration files.

  New in version 0.11.

class `pygments.lexers.configs.` `NginxConfLexer`
  Short names

    nginx

  Filenames

    nginx.conf

  MIME types

    text/x-nginx-conf

  Lexer for Nginx configuration files.

  New in version 0.11.

class `pygments.lexers.configs.` `PacmanConfLexer`
  Short names

    pacmanconf

  Filenames

    pacman.conf

  MIME types

    None

  Lexer for pacman.conf.

  Actually, IniLexer works almost fine for this format, but it yield error token. It is because pacman.conf has a form without assignment like:

  > UseSyslog Color TotalDownload CheckSpace VerbosePkgLists

  These are flags to switch on.

  New in version 2.1.

class `pygments.lexers.configs.` `PkgConfigLexer`
  Short names

    pkgconfig

  Filenames

    *.pc

  MIME types

    None

  Lexer for pkg-config (see also manual page).

  New in version 2.1.

class `pygments.lexers.configs.` `PropertiesLexer`
  Short names

    properties, jproperties

  Filenames

    *.properties

  MIME types

    text/x-java-properties

  Lexer for configuration files in Java’s properties format.

  Note: trailing whitespace counts as part of the value as per spec

  New in version 1.4.

class `pygments.lexers.configs.` `RegeditLexer`
  Short names

    registry

  Filenames

    *.reg

  MIME types

    text/x-windows-registry

  Lexer for Windows Registry files produced by regedit.

  New in version 1.6.

class `pygments.lexers.configs.` `SingularityLexer`
  Short names

    singularity

  Filenames

    *.def, Singularity

  MIME types

    None

  Lexer for Singularity definition files.

  New in version 2.6.

class `pygments.lexers.configs.` `SquidConfLexer`
  Short names

    squidconf, squid.conf, squid

  Filenames

    squid.conf

  MIME types

    text/x-squidconf

  Lexer for squid configuration files.

  New in version 0.9.

class `pygments.lexers.configs.` `TOMLLexer`
  Short names

    toml

  Filenames

    *.toml, Pipfile, poetry.lock

  MIME types

    None

  Lexer for TOML, a simple language for config files.

  New in version 2.4.

class `pygments.lexers.configs.` `TermcapLexer`
  Short names

    termcap

  Filenames

    termcap, termcap.src

  MIME types

    None

  Lexer for termcap database source.

  This is very simple and minimal.

  New in version 2.1.

class `pygments.lexers.configs.` `TerminfoLexer`
  Short names

    terminfo

  Filenames

    terminfo, terminfo.src

  MIME types

    None

  Lexer for terminfo database source.

  This is very simple and minimal.

  New in version 2.1.

class `pygments.lexers.configs.` `TerraformLexer`
  Short names

    terraform, tf

  Filenames

    *.tf

  MIME types

    application/x-tf, application/x-terraform

  Lexer for terraformi .tf files.

  New in version 2.1.

## Lexers for misc console output

class `pygments.lexers.console.` `PyPyLogLexer`
  Short names

    pypylog, pypy

  Filenames

    *.pypylog

  MIME types

    application/x-pypylog

  Lexer for PyPy log files.

  New in version 1.5.

class `pygments.lexers.console.` `VCTreeStatusLexer`
  Short names

    vctreestatus

  Filenames

    None

  MIME types

    None

  For colorizing output of version control status commands, like “hg status” or “svn status”.

  New in version 2.0.

## Lexer for Crystal

class `pygments.lexers.crystal.` `CrystalLexer`
  Short names

    cr, crystal

  Filenames

    *.cr

  MIME types

    text/x-crystal

  For Crystal source code.

  New in version 2.2.

## Lexers for Csound languages

class `pygments.lexers.csound.` `CsoundDocumentLexer`
  Short names

    csound-document, csound-csd

  Filenames

    *.csd

  MIME types

    None

  For Csound documents.

  New in version 2.1.

class `pygments.lexers.csound.` `CsoundOrchestraLexer`
  Short names

    csound, csound-orc

  Filenames

    *.orc, *.udo

  MIME types

    None

  For Csound orchestras.

  New in version 2.1.

class `pygments.lexers.csound.` `CsoundScoreLexer`
  Short names

    csound-score, csound-sco

  Filenames

    *.sco

  MIME types

    None

  For Csound scores.

  New in version 2.1.

## Lexers for CSS and related stylesheet formats

class `pygments.lexers.css.` `CssLexer`
  Short names

    css

  Filenames

    *.css

  MIME types

    text/css

  For CSS (Cascading Style Sheets).

class `pygments.lexers.css.` `LessCssLexer`
  Short names

    less

  Filenames

    *.less

  MIME types

    text/x-less-css

  For LESS styleshets.

  New in version 2.1.

class `pygments.lexers.css.` `SassLexer`
  Short names

    sass

  Filenames

    *.sass

  MIME types

    text/x-sass

  For Sass stylesheets.

  New in version 1.3.

class `pygments.lexers.css.` `ScssLexer`
  Short names

    scss

  Filenames

    *.scss

  MIME types

    text/x-scss

  For SCSS stylesheets.

## Lexers for D languages

class `pygments.lexers.d.` `CrocLexer`
  Short names

    croc

  Filenames

    *.croc

  MIME types

    text/x-crocsrc

  For Croc source.

class `pygments.lexers.d.` `DLexer`
  Short names

    d

  Filenames

    *.d, *.di

  MIME types

    text/x-dsrc

  For D source.

  New in version 1.2.

class `pygments.lexers.d.` `MiniDLexer`
  Short names

    minid

  Filenames

    None

  MIME types

    text/x-minidsrc

  For MiniD source. MiniD is now known as Croc.

## Pygments lexers for Dalvik VM-related languages

class `pygments.lexers.dalvik.` `SmaliLexer`
  Short names

    smali

  Filenames

    *.smali

  MIME types

    text/smali

  For Smali (Android/Dalvik) assembly code.

  New in version 1.6.

## Lexers for data file format

class `pygments.lexers.data.` `JsonBareObjectLexer`
  Short names

    json-object

  Filenames

    None

  MIME types

    application/json-object

  For JSON data structures (with missing object curly braces).

  New in version 2.2.

class `pygments.lexers.data.` `JsonLdLexer`
  Short names

    jsonld, json-ld

  Filenames

    *.jsonld

  MIME types

    application/ld+json

  For JSON-LD linked data.

  New in version 2.0.

class `pygments.lexers.data.` `JsonLexer`
  Short names

    json

  Filenames

    *.json, Pipfile.lock

  MIME types

    application/json

  For JSON data structures.

  New in version 1.5.

class `pygments.lexers.data.` `YamlLexer`
  Short names

    yaml

  Filenames

    *.yaml, *.yml

  MIME types

    text/x-yaml

  Lexer for YAML, a human-friendly data serialization language.

  New in version 0.11.

## Lexers for Devicetree language

class `pygments.lexers.devicetree.` `DevicetreeLexer`
  Short names

    devicetree, dts

  Filenames

    *.dts, *.dtsi

  MIME types

    text/x-c

  Lexer for Devicetree files.

  New in version 2.7.

## Lexers for diff/patch formats

class `pygments.lexers.diff.` `DarcsPatchLexer`
  Short names

    dpatch

  Filenames

    *.dpatch, *.darcspatch

  MIME types

    None

  DarcsPatchLexer is a lexer for the various versions of the darcs patch format. Examples of this format are derived by commands such as `darcs annotate --patch` and `darcs send`.

  New in version 0.10.

class `pygments.lexers.diff.` `DiffLexer`
  Short names

    diff, udiff

  Filenames

    *.diff, *.patch

  MIME types

    text/x-diff, text/x-patch

  Lexer for unified or context-style diffs or patches.

class `pygments.lexers.diff.` `WDiffLexer`
  Short names

    wdiff

  Filenames

    *.wdiff

  MIME types

    None

  A wdiff lexer.

  Note that:

  - It only works with normal output (without options like `-l`).

  - If the target files contain “[-“, “-]”, “{+”, or “+}”, especially they are unbalanced, the lexer will get confused.

  New in version 2.2.

## Lexers for .net languages

class `pygments.lexers.dotnet.` `BooLexer`
  Short names

    boo

  Filenames

    *.boo

  MIME types

    text/x-boo

  For Boo source code.

class `pygments.lexers.dotnet.` `CSharpAspxLexer`
  Short names

    aspx-cs

  Filenames

    *.aspx, *.asax, *.ascx, *.ashx, *.asmx, *.axd

  MIME types

    None

  Lexer for highlighting C# within ASP.NET pages.

class `pygments.lexers.dotnet.` `CSharpLexer`
  Short names

    csharp, c#

  Filenames

    *.cs

  MIME types

    text/x-csharp

  For C# source code.

  Additional options accepted:

  unicodelevel

    Determines which Unicode characters this lexer allows for identifiers. The possible values are:

    - `none` – only the ASCII letters and numbers are allowed. This is the fastest selection.

    - `basic` – all Unicode characters from the specification except category `Lo` are allowed.

    - `full` – all Unicode characters as specified in the C# specs are allowed. Note that this means a considerable slowdown since the `Lo` category has more than 40,000 characters in it!

    The default value is `basic`.

    New in version 0.8.

class `pygments.lexers.dotnet.` `FSharpLexer`
  Short names

    fsharp, f#

  Filenames

    *.fs, *.fsi

  MIME types

    text/x-fsharp

  For the F# language (version 3.0).

  New in version 1.5.

class `pygments.lexers.dotnet.` `NemerleLexer`
  Short names

    nemerle

  Filenames

    *.n

  MIME types

    text/x-nemerle

  For Nemerle source code.

  Additional options accepted:

  unicodelevel

    Determines which Unicode characters this lexer allows for identifiers. The possible values are:

    - `none` – only the ASCII letters and numbers are allowed. This is the fastest selection.

    - `basic` – all Unicode characters from the specification except category `Lo` are allowed.

    - `full` – all Unicode characters as specified in the C# specs are allowed. Note that this means a considerable slowdown since the `Lo` category has more than 40,000 characters in it!

    The default value is `basic`.

  New in version 1.5.

class `pygments.lexers.dotnet.` `VbNetAspxLexer`
  Short names

    aspx-vb

  Filenames

    *.aspx, *.asax, *.ascx, *.ashx, *.asmx, *.axd

  MIME types

    None

  Lexer for highlighting Visual Basic.net within ASP.NET pages.

class `pygments.lexers.dotnet.` `VbNetLexer`
  Short names

    vb.net, vbnet

  Filenames

    *.vb, *.bas

  MIME types

    text/x-vbnet, text/x-vba

  For Visual Basic.NET source code.

## Lexers for various domain-specific languages

class `pygments.lexers.dsls.` `AlloyLexer`
  Short names

    alloy

  Filenames

    *.als

  MIME types

    text/x-alloy

  For Alloy source code.

  New in version 2.0.

class `pygments.lexers.dsls.` `CrmshLexer`
  Short names

    crmsh, pcmk

  Filenames

    *.crmsh, *.pcmk

  MIME types

    None

  Lexer for crmsh configuration files for Pacemaker clusters.

  New in version 2.1.

class `pygments.lexers.dsls.` `FlatlineLexer`
  Short names

    flatline

  Filenames

    None

  MIME types

    text/x-flatline

  Lexer for Flatline expressions.

  New in version 2.2.

class `pygments.lexers.dsls.` `MscgenLexer`
  Short names

    mscgen, msc

  Filenames

    *.msc

  MIME types

    None

  For Mscgen files.

  New in version 1.6.

class `pygments.lexers.dsls.` `PanLexer`
  Short names

    pan

  Filenames

    *.pan

  MIME types

    None

  Lexer for pan source files.

  Based on tcsh lexer.

  New in version 2.0.

class `pygments.lexers.dsls.` `ProtoBufLexer`
  Short names

    protobuf, proto

  Filenames

    *.proto

  MIME types

    None

  Lexer for Protocol Buffer definition files.

  New in version 1.4.

class `pygments.lexers.dsls.` `PuppetLexer`
  Short names

    puppet

  Filenames

    *.pp

  MIME types

    None

  For Puppet configuration DSL.

  New in version 1.6.

class `pygments.lexers.dsls.` `RslLexer`
  Short names

    rsl

  Filenames

    *.rsl

  MIME types

    text/rsl

  RSL is the formal specification language used in RAISE (Rigorous Approach to Industrial Software Engineering) method.

  New in version 2.0.

class `pygments.lexers.dsls.` `SnowballLexer`
  Short names

    snowball

  Filenames

    *.sbl

  MIME types

    None

  Lexer for Snowball source code.

  New in version 2.2.

class `pygments.lexers.dsls.` `ThriftLexer`
  Short names

    thrift

  Filenames

    *.thrift

  MIME types

    application/x-thrift

  For Thrift interface definitions.

  New in version 2.1.

class `pygments.lexers.dsls.` `VGLLexer`
  Short names

    vgl

  Filenames

    *.rpf

  MIME types

    None

  For SampleManager VGL source code.

  New in version 1.6.

class `pygments.lexers.dsls.` `ZeekLexer`
  Short names

    zeek, bro

  Filenames

    *.zeek, *.bro

  MIME types

    None

  For Zeek scripts.

  New in version 2.5.

## Lexers for the Dylan language

class `pygments.lexers.dylan.` `DylanConsoleLexer`
  Short names

    dylan-console, dylan-repl

  Filenames

    *.dylan-console

  MIME types

    text/x-dylan-console

  For Dylan interactive console output like:

      ? let a = 1;
      => 1
      ? a
      => 1

  This is based on a copy of the RubyConsoleLexer.

  New in version 1.6.

class `pygments.lexers.dylan.` `DylanLexer`
  Short names

    dylan

  Filenames

    *.dylan, *.dyl, *.intr

  MIME types

    text/x-dylan

  For the Dylan language.

  New in version 0.7.

class `pygments.lexers.dylan.` `DylanLidLexer`
  Short names

    dylan-lid, lid

  Filenames

    *.lid, *.hdp

  MIME types

    text/x-dylan-lid

  For Dylan LID (Library Interchange Definition) files.

  New in version 1.6.

## Lexers for the ECL language

class `pygments.lexers.ecl.` `ECLLexer`
  Short names

    ecl

  Filenames

    *.ecl

  MIME types

    application/x-ecl

  Lexer for the declarative big-data ECL language.

  New in version 1.5.

## Lexer for the Eiffel language

class `pygments.lexers.eiffel.` `EiffelLexer`
  Short names

    eiffel

  Filenames

    *.e

  MIME types

    text/x-eiffel

  For Eiffel source code.

  New in version 2.0.

## Lexer for the Elm programming language

class `pygments.lexers.elm.` `ElmLexer`
  Short names

    elm

  Filenames

    *.elm

  MIME types

    text/x-elm

  For Elm source code.

  New in version 2.1.

## Lexer for the raw E-mail

class `pygments.lexers.email.` `EmailLexer`
  Short names

    email, eml

  Filenames

    *.eml

  MIME types

    message/rfc822

  Lexer for raw E-mail.

  Additional options accepted:

  highlight-X-header

    Highlight the fields of `X-` user-defined email header. (default: `False`).

  New in version 2.5.

## Lexers for Erlang

class `pygments.lexers.erlang.` `ElixirConsoleLexer`
  Short names

    iex

  Filenames

    None

  MIME types

    text/x-elixir-shellsession

  For Elixir interactive console (iex) output like:

      iex> [head | tail] = [1,2,3]
      [1,2,3]
      iex> head
      1
      iex> tail
      [2,3]
      iex> [head | tail]
      [1,2,3]
      iex> length [head | tail]
      3

  New in version 1.5.

class `pygments.lexers.erlang.` `ElixirLexer`
  Short names

    elixir, ex, exs

  Filenames

    *.ex, *.eex, *.exs

  MIME types

    text/x-elixir

  For the Elixir language.

  New in version 1.5.

class `pygments.lexers.erlang.` `ErlangLexer`
  Short names

    erlang

  Filenames

    *.erl, *.hrl, *.es, *.escript

  MIME types

    text/x-erlang

  For the Erlang functional programming language.

  Blame Jeremy Thurgood (http://jerith.za.net/).

  New in version 0.9.

class `pygments.lexers.erlang.` `ErlangShellLexer`
  Short names

    erl

  Filenames

    *.erl-sh

  MIME types

    text/x-erl-shellsession

  Shell sessions in erl (for Erlang code).

  New in version 1.1.

## Lexers for esoteric languages

class `pygments.lexers.esoteric.` `AheuiLexer`
  Short names

    aheui

  Filenames

    *.aheui

  MIME types

    None

  Aheui Lexer.

  Aheui is esoteric language based on Korean alphabets.

class `pygments.lexers.esoteric.` `BefungeLexer`
  Short names

    befunge

  Filenames

    *.befunge

  MIME types

    application/x-befunge

  Lexer for the esoteric Befunge language.

  New in version 0.7.

class `pygments.lexers.esoteric.` `BrainfuckLexer`
  Short names

    brainfuck, bf

  Filenames

    *.bf, *.b

  MIME types

    application/x-brainfuck

  Lexer for the esoteric BrainFuck language.

class `pygments.lexers.esoteric.` `CAmkESLexer`
  Short names

    camkes, idl4

  Filenames

    *.camkes, *.idl4

  MIME types

    None

  Basic lexer for the input language for the CAmkES component platform.

  New in version 2.1.

class `pygments.lexers.esoteric.` `CapDLLexer`
  Short names

    capdl

  Filenames

    *.cdl

  MIME types

    None

  Basic lexer for CapDL.

  The source of the primary tool that reads such specifications is available at https://github.com/seL4/capdl/tree/master/capDL-tool. Note that this lexer only supports a subset of the grammar. For example, identifiers can shadow type names, but these instances are currently incorrectly highlighted as types. Supporting this would need a stateful lexer that is considered unnecessarily complex for now.

  New in version 2.2.

class `pygments.lexers.esoteric.` `RedcodeLexer`
  Short names

    redcode

  Filenames

    *.cw

  MIME types

    None

  A simple Redcode lexer based on ICWS’94. Contributed by Adam Blinkinsop <blinks@acm.org>.

  New in version 0.8.

## Pygments lexers for Ezhil language

class `pygments.lexers.ezhil.` `EzhilLexer`
  Short names

    ezhil

  Filenames

    *.n

  MIME types

    text/x-ezhil

  Lexer for Ezhil, a Tamil script-based programming language

  New in version 2.1.

## Lexers for the Factor language

class `pygments.lexers.factor.` `FactorLexer`
  Short names

    factor

  Filenames

    *.factor

  MIME types

    text/x-factor

  Lexer for the Factor language.

  New in version 1.4.

## Lexer for the Fantom language

class `pygments.lexers.fantom.` `FantomLexer`
  Short names

    fan

  Filenames

    *.fan

  MIME types

    application/x-fantom

  For Fantom source code.

  New in version 1.5.

## Lexer for the Felix language

class `pygments.lexers.felix.` `FelixLexer`
  Short names

    felix, flx

  Filenames

    *.flx, *.flxh

  MIME types

    text/x-felix

  For Felix source code.

  New in version 1.2.

## Lexer for FloScript

class `pygments.lexers.floscript.` `FloScriptLexer`
  Short names

    floscript, flo

  Filenames

    *.flo

  MIME types

    None

  For FloScript configuration language source code.

  New in version 2.4.

## Lexer for the Forth language

class `pygments.lexers.forth.` `ForthLexer`
  Short names

    forth

  Filenames

    *.frt, *.fs

  MIME types

    application/x-forth

  Lexer for Forth files.

  New in version 2.2.

## Lexers for Fortran languages

class `pygments.lexers.fortran.` `FortranFixedLexer`
  Short names

    fortranfixed

  Filenames

    *.f, *.F

  MIME types

    None

  Lexer for fixed format Fortran.

  New in version 2.1.

class `pygments.lexers.fortran.` `FortranLexer`
  Short names

    fortran

  Filenames

    *.f03, *.f90, *.F03, *.F90

  MIME types

    text/x-fortran

  Lexer for FORTRAN 90 code.

  New in version 0.10.

## Simple lexer for Microsoft Visual FoxPro source code

class `pygments.lexers.foxpro.` `FoxProLexer`
  Short names

    foxpro, vfp, clipper, xbase

  Filenames

    *.PRG, *.prg

  MIME types

    None

  Lexer for Microsoft Visual FoxPro language.

  FoxPro syntax allows to shorten all keywords and function names to 4 characters. Shortened forms are not recognized by this lexer.

  New in version 1.6.

## Lexer for FreeFem++ language

class `pygments.lexers.freefem.` `FreeFemLexer`
  Short names

    freefem

  Filenames

    *.edp

  MIME types

    text/x-freefem

  For FreeFem++ source.

  This is an extension of the CppLexer, as the FreeFem Language is a superset of C++.

  New in version 2.4.

## Lexer for GDScript

class `pygments.lexers.gdscript.` `GDScriptLexer`
  Short names

    gdscript, gd

  Filenames

    *.gd

  MIME types

    text/x-gdscript, application/x-gdscript

  For GDScript source code.

## Lexers for the Google Go language

class `pygments.lexers.go.` `GoLexer`
  Short names

    go

  Filenames

    *.go

  MIME types

    text/x-gosrc

  For Go source.

  New in version 1.2.

## Lexers for grammer notations like BNF

class `pygments.lexers.grammar_notation.` `AbnfLexer`
  Short names

    abnf

  Filenames

    *.abnf

  MIME types

    text/x-abnf

  Lexer for IETF 7405 ABNF (Updates 5234) grammars.

  New in version 2.1.

class `pygments.lexers.grammar_notation.` `BnfLexer`
  Short names

    bnf

  Filenames

    *.bnf

  MIME types

    text/x-bnf

  This lexer is for grammer notations which are similar to original BNF.

  In order to maximize a number of targets of this lexer, let’s decide some designs:

  - We don’t distinguish Terminal Symbol.

  - We do assume that NonTerminal Symbol are always enclosed with arrow brackets.

  - We do assume that NonTerminal Symbol may include any printable characters except arrow brackets and ASCII 0x20. This assumption is for RBNF.

  - We do assume that target notation doesn’t support comment.

  - We don’t distinguish any operators and punctuation except ::=.

  Though these desision making might cause too minimal highlighting and you might be disappointed, but it is reasonable for us.

  New in version 2.1.

class `pygments.lexers.grammar_notation.` `JsgfLexer`
  Short names

    jsgf

  Filenames

    *.jsgf

  MIME types

    application/jsgf, application/x-jsgf, text/jsgf

  For JSpeech Grammar Format grammars.

  New in version 2.2.

class `pygments.lexers.grammar_notation.` `PegLexer`
  Short names

    peg

  Filenames

    *.peg

  MIME types

    text/x-peg

  This lexer is for Parsing Expression Grammars (PEG).

  Various implementations of PEG have made different decisions regarding the syntax, so let’s try to be accommodating:

  - <-, ←, :, and = are all accepted as rule operators.

  - Both | and / are choice operators.

  - ^, ↑, and ~ are cut operators.

  - A single a-z character immediately before a string, or multiple a-z characters following a string, are part of the string (e.g., r”…” or “…”ilmsuxa).

  New in version 2.6.

## Lexers for graph query languages

class `pygments.lexers.graph.` `CypherLexer`
  Short names

    cypher

  Filenames

    *.cyp, *.cypher

  MIME types

    None

  For Cypher Query Language

  For the Cypher version in Neo4j 3.3

  New in version 2.0.

## Lexers for computer graphics and plotting related languages

class `pygments.lexers.graphics.` `AsymptoteLexer`
  Short names

    asy, asymptote

  Filenames

    *.asy

  MIME types

    text/x-asymptote

  For Asymptote source code.

  New in version 1.2.

class `pygments.lexers.graphics.` `GLShaderLexer`
  Short names

    glsl

  Filenames

    *.vert, *.frag, *.geo

  MIME types

    text/x-glslsrc

  GLSL (OpenGL Shader) lexer.

  New in version 1.1.

class `pygments.lexers.graphics.` `GnuplotLexer`
  Short names

    gnuplot

  Filenames

    *.plot, *.plt

  MIME types

    text/x-gnuplot

  For Gnuplot plotting scripts.

  New in version 0.11.

class `pygments.lexers.graphics.` `HLSLShaderLexer`
  Short names

    hlsl

  Filenames

    *.hlsl, *.hlsli

  MIME types

    text/x-hlsl

  HLSL (Microsoft Direct3D Shader) lexer.

  New in version 2.3.

class `pygments.lexers.graphics.` `PostScriptLexer`
  Short names

    postscript, postscr

  Filenames

    *.ps, *.eps

  MIME types

    application/postscript

  Lexer for PostScript files.

  The PostScript Language Reference published by Adobe at <http://partners.adobe.com/public/developer/en/ps/PLRM.pdf> is the authority for this.

  New in version 1.4.

class `pygments.lexers.graphics.` `PovrayLexer`
  Short names

    pov

  Filenames

    *.pov, *.inc

  MIME types

    text/x-povray

  For Persistence of Vision Raytracer files.

  New in version 0.11.

## Lexers for Haskell and related languages

class `pygments.lexers.haskell.` `AgdaLexer`
  Short names

    agda

  Filenames

    *.agda

  MIME types

    text/x-agda

  For the Agda dependently typed functional programming language and proof assistant.

  New in version 2.0.

class `pygments.lexers.haskell.` `CryptolLexer`
  Short names

    cryptol, cry

  Filenames

    *.cry

  MIME types

    text/x-cryptol

  FIXME: A Cryptol2 lexer based on the lexemes defined in the Haskell 98 Report.

  New in version 2.0.

class `pygments.lexers.haskell.` `HaskellLexer`
  Short names

    haskell, hs

  Filenames

    *.hs

  MIME types

    text/x-haskell

  A Haskell lexer based on the lexemes defined in the Haskell 98 Report.

  New in version 0.8.

class `pygments.lexers.haskell.` `HspecLexer`
  Short names

    hspec

  Filenames

    None

  MIME types

    None

  A Haskell lexer with support for Hspec constructs.

  New in version 2.4.0.

class `pygments.lexers.haskell.` `IdrisLexer`
  Short names

    idris, idr

  Filenames

    *.idr

  MIME types

    text/x-idris

  A lexer for the dependently typed programming language Idris.

  Based on the Haskell and Agda Lexer.

  New in version 2.0.

class `pygments.lexers.haskell.` `KokaLexer`
  Short names

    koka

  Filenames

    *.kk, *.kki

  MIME types

    text/x-koka

  Lexer for the Koka language.

  New in version 1.6.

class `pygments.lexers.haskell.` `LiterateAgdaLexer`
  Short names

    lagda, literate-agda

  Filenames

    *.lagda

  MIME types

    text/x-literate-agda

  For Literate Agda source.

  Additional options accepted:

  litstyle

    If given, must be `"bird"` or `"latex"`. If not given, the style is autodetected: if the first non-whitespace character in the source is a backslash or percent character, LaTeX is assumed, else Bird.

  New in version 2.0.

class `pygments.lexers.haskell.` `LiterateCryptolLexer`
  Short names

    lcry, literate-cryptol, lcryptol

  Filenames

    *.lcry

  MIME types

    text/x-literate-cryptol

  For Literate Cryptol (Bird-style or LaTeX) source.

  Additional options accepted:

  litstyle

    If given, must be `"bird"` or `"latex"`. If not given, the style is autodetected: if the first non-whitespace character in the source is a backslash or percent character, LaTeX is assumed, else Bird.

  New in version 2.0.

class `pygments.lexers.haskell.` `LiterateHaskellLexer`
  Short names

    lhs, literate-haskell, lhaskell

  Filenames

    *.lhs

  MIME types

    text/x-literate-haskell

  For Literate Haskell (Bird-style or LaTeX) source.

  Additional options accepted:

  litstyle

    If given, must be `"bird"` or `"latex"`. If not given, the style is autodetected: if the first non-whitespace character in the source is a backslash or percent character, LaTeX is assumed, else Bird.

  New in version 0.9.

class `pygments.lexers.haskell.` `LiterateIdrisLexer`
  Short names

    lidr, literate-idris, lidris

  Filenames

    *.lidr

  MIME types

    text/x-literate-idris

  For Literate Idris (Bird-style or LaTeX) source.

  Additional options accepted:

  litstyle

    If given, must be `"bird"` or `"latex"`. If not given, the style is autodetected: if the first non-whitespace character in the source is a backslash or percent character, LaTeX is assumed, else Bird.

  New in version 2.0.

## Lexers for Haxe and related stuff

class `pygments.lexers.haxe.` `HaxeLexer`
  Short names

    hx, haxe, hxsl

  Filenames

    *.hx, *.hxsl

  MIME types

    text/haxe, text/x-haxe, text/x-hx

  For Haxe source code (http://haxe.org/).

  New in version 1.3.

class `pygments.lexers.haxe.` `HxmlLexer`
  Short names

    haxeml, hxml

  Filenames

    *.hxml

  MIME types

    None

  Lexer for haXe build files.

  New in version 1.6.

## Lexers for hardware descriptor languages

class `pygments.lexers.hdl.` `SystemVerilogLexer`
  Short names

    systemverilog, sv

  Filenames

    *.sv, *.svh

  MIME types

    text/x-systemverilog

  Extends verilog lexer to recognise all SystemVerilog keywords from IEEE 1800-2009 standard.

  New in version 1.5.

class `pygments.lexers.hdl.` `VerilogLexer`
  Short names

    verilog, v

  Filenames

    *.v

  MIME types

    text/x-verilog

  For verilog source code with preprocessor directives.

  New in version 1.4.

class `pygments.lexers.hdl.` `VhdlLexer`
  Short names

    vhdl

  Filenames

    *.vhdl, *.vhd

  MIME types

    text/x-vhdl

  For VHDL source code.

  New in version 1.5.

## Lexers for hexadecimal dumps

class `pygments.lexers.hexdump.` `HexdumpLexer`
  Short names

    hexdump

  Filenames

    None

  MIME types

    None

  For typical hex dump output formats by the UNIX and GNU/Linux tools `hexdump`, `hd`, `hexcat`, `od` and `xxd`, and the DOS tool `DEBUG`. For example:

      00000000  7f 45 4c 46 02 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
      00000010  02 00 3e 00 01 00 00 00  c5 48 40 00 00 00 00 00  |..>......H@.....|

  The specific supported formats are the outputs of:

  - `hexdump FILE`

  - `hexdump -C FILE` – the canonical format used in the example.

  - `hd FILE` – same as `hexdump -C FILE`.

  - `hexcat FILE`

  - `od -t x1z FILE`

  - `xxd FILE`

  - `DEBUG.EXE FILE.COM` and entering `d` to the prompt.

  New in version 2.1.

## Lexers for HTML, XML and related markup

class `pygments.lexers.html.` `DtdLexer`
  Short names

    dtd

  Filenames

    *.dtd

  MIME types

    application/xml-dtd

  A lexer for DTDs (Document Type Definitions).

  New in version 1.5.

class `pygments.lexers.html.` `HamlLexer`
  Short names

    haml

  Filenames

    *.haml

  MIME types

    text/x-haml

  For Haml markup.

  New in version 1.3.

class `pygments.lexers.html.` `HtmlLexer`
  Short names

    html

  Filenames

    *.html, *.htm, *.xhtml, *.xslt

  MIME types

    text/html, application/xhtml+xml

  For HTML 4 and XHTML 1 markup. Nested JavaScript and CSS is highlighted by the appropriate lexer.

class `pygments.lexers.html.` `PugLexer`
  Short names

    pug, jade

  Filenames

    *.pug, *.jade

  MIME types

    text/x-pug, text/x-jade

  For Pug markup. Pug is a variant of Scaml, see: http://scalate.fusesource.org/documentation/scaml-reference.html

  New in version 1.4.

class `pygments.lexers.html.` `ScamlLexer`
  Short names

    scaml

  Filenames

    *.scaml

  MIME types

    text/x-scaml

  For Scaml markup. Scaml is Haml for Scala.

  New in version 1.4.

class `pygments.lexers.html.` `XmlLexer`
  Short names

    xml

  Filenames

    *.xml, *.xsl, *.rss, *.xslt, *.xsd, *.wsdl, *.wsf

  MIME types

    text/xml, application/xml, image/svg+xml, application/rss+xml, application/atom+xml

  Generic lexer for XML (eXtensible Markup Language).

class `pygments.lexers.html.` `XsltLexer`
  Short names

    xslt

  Filenames

    *.xsl, *.xslt, *.xpl

  MIME types

    application/xsl+xml, application/xslt+xml

  A lexer for XSLT.

  New in version 0.10.

## Lexers for IDL

class `pygments.lexers.idl.` `IDLLexer`
  Short names

    idl

  Filenames

    *.pro

  MIME types

    text/idl

  Pygments Lexer for IDL (Interactive Data Language).

  New in version 1.6.

## Lexers for Igor Pro

class `pygments.lexers.igor.` `IgorLexer`
  Short names

    igor, igorpro

  Filenames

    *.ipf

  MIME types

    text/ipf

  Pygments Lexer for Igor Pro procedure files (.ipf). See http://www.wavemetrics.com/ and http://www.igorexchange.com/.

  New in version 2.0.

## Lexers for Inferno os and all the related stuff

class `pygments.lexers.inferno.` `LimboLexer`
  Short names

    limbo

  Filenames

    *.b

  MIME types

    text/limbo

  Lexer for Limbo programming language

  TODO:

    - maybe implement better var declaration highlighting

    - some simple syntax error highlighting

  New in version 2.0.

## Lexers for installer/packager DSLs and formats

class `pygments.lexers.installers.` `DebianControlLexer`
  Short names

    control, debcontrol

  Filenames

    control

  MIME types

    None

  Lexer for Debian `control` files and `apt-cache show <pkg>` outputs.

  New in version 0.9.

class `pygments.lexers.installers.` `NSISLexer`
  Short names

    nsis, nsi, nsh

  Filenames

    *.nsi, *.nsh

  MIME types

    text/x-nsis

  For NSIS scripts.

  New in version 1.6.

class `pygments.lexers.installers.` `RPMSpecLexer`
  Short names

    spec

  Filenames

    *.spec

  MIME types

    text/x-rpm-spec

  For RPM `.spec` files.

  New in version 1.6.

class `pygments.lexers.installers.` `SourcesListLexer`
  Short names

    sourceslist, sources.list, debsources

  Filenames

    sources.list

  MIME types

    None

  Lexer that highlights debian sources.list files.

  New in version 0.7.

## Lexers for interactive fiction languages

class `pygments.lexers.int_fiction.` `Inform6Lexer`
  Short names

    inform6, i6

  Filenames

    *.inf

  MIME types

    None

  For Inform 6 source code.

  New in version 2.0.

class `pygments.lexers.int_fiction.` `Inform6TemplateLexer`
  Short names

    i6t

  Filenames

    *.i6t

  MIME types

    None

  For Inform 6 template code.

  New in version 2.0.

class `pygments.lexers.int_fiction.` `Inform7Lexer`
  Short names

    inform7, i7

  Filenames

    *.ni, *.i7x

  MIME types

    None

  For Inform 7 source code.

  New in version 2.0.

class `pygments.lexers.int_fiction.` `Tads3Lexer`
  Short names

    tads3

  Filenames

    *.t

  MIME types

    None

  For TADS 3 source code.

## Lexers for the Io language

class `pygments.lexers.iolang.` `IoLexer`
  Short names

    io

  Filenames

    *.io

  MIME types

    text/x-iosrc

  For Io (a small, prototype-based programming language) source.

  New in version 0.10.

## Lexer for the J programming language

class `pygments.lexers.j.` `JLexer`
  Short names

    j

  Filenames

    *.ijs

  MIME types

    text/x-j

  For J source code.

  New in version 2.1.

## Lexers for JavaScript and related languages

class `pygments.lexers.javascript.` `CoffeeScriptLexer`
  Short names

    coffee-script, coffeescript, coffee

  Filenames

    *.coffee

  MIME types

    text/coffeescript

  For CoffeeScript source code.

  New in version 1.3.

class `pygments.lexers.javascript.` `DartLexer`
  Short names

    dart

  Filenames

    *.dart

  MIME types

    text/x-dart

  For Dart source code.

  New in version 1.5.

class `pygments.lexers.javascript.` `EarlGreyLexer`
  Short names

    earl-grey, earlgrey, eg

  Filenames

    *.eg

  MIME types

    text/x-earl-grey

  For Earl-Grey source code.

class `pygments.lexers.javascript.` `JavascriptLexer`
  Short names

    js, javascript

  Filenames

    *.js, *.jsm, *.mjs

  MIME types

    application/javascript, application/x-javascript, text/x-javascript, text/javascript

  For JavaScript source code.

class `pygments.lexers.javascript.` `JuttleLexer`
  Short names

    juttle, juttle

  Filenames

    *.juttle

  MIME types

    application/juttle, application/x-juttle, text/x-juttle, text/juttle

  For Juttle source code.

  New in version 2.2.

class `pygments.lexers.javascript.` `KalLexer`
  Short names

    kal

  Filenames

    *.kal

  MIME types

    text/kal, application/kal

  For Kal source code.

  New in version 2.0.

class `pygments.lexers.javascript.` `LassoLexer`
  Short names

    lasso, lassoscript

  Filenames

    *.lasso, *.lasso[89]

  MIME types

    text/x-lasso

  For Lasso source code, covering both Lasso 9 syntax and LassoScript for Lasso 8.6 and earlier. For Lasso embedded in HTML, use the LassoHtmlLexer.

  Additional options accepted:

  builtinshighlighting

    If given and `True`, highlight builtin types, traits, methods, and members (default: `True`).

  requiredelimiters

    If given and `True`, only highlight code between delimiters as Lasso (default: `False`).

  New in version 1.6.

class `pygments.lexers.javascript.` `LiveScriptLexer`
  Short names

    live-script, livescript

  Filenames

    *.ls

  MIME types

    text/livescript

  For LiveScript source code.

  New in version 1.6.

class `pygments.lexers.javascript.` `MaskLexer`
  Short names

    mask

  Filenames

    *.mask

  MIME types

    text/x-mask

  For Mask markup.

  New in version 2.0.

class `pygments.lexers.javascript.` `ObjectiveJLexer`
  Short names

    objective-j, objectivej, obj-j, objj

  Filenames

    *.j

  MIME types

    text/x-objective-j

  For Objective-J source code with preprocessor directives.

  New in version 1.3.

class `pygments.lexers.javascript.` `TypeScriptLexer`
  Short names

    ts, typescript

  Filenames

    *.ts, *.tsx

  MIME types

    text/x-typescript

  For TypeScript source code.

  New in version 1.6.

## Lexers for the Julia language

class `pygments.lexers.julia.` `JuliaConsoleLexer`
  Short names

    jlcon

  Filenames

    None

  MIME types

    None

  For Julia console sessions. Modeled after MatlabSessionLexer.

  New in version 1.6.

class `pygments.lexers.julia.` `JuliaLexer`
  Short names

    julia, jl

  Filenames

    *.jl

  MIME types

    text/x-julia, application/x-julia

  For Julia source code.

  New in version 1.6.

## Pygments lexers for JVM languages

class `pygments.lexers.jvm.` `AspectJLexer`
  Short names

    aspectj

  Filenames

    *.aj

  MIME types

    text/x-aspectj

  For AspectJ source code.

  New in version 1.6.

class `pygments.lexers.jvm.` `CeylonLexer`
  Short names

    ceylon

  Filenames

    *.ceylon

  MIME types

    text/x-ceylon

  For Ceylon source code.

  New in version 1.6.

class `pygments.lexers.jvm.` `ClojureLexer`
  Short names

    clojure, clj

  Filenames

    *.clj

  MIME types

    text/x-clojure, application/x-clojure

  Lexer for Clojure source code.

  New in version 0.11.

class `pygments.lexers.jvm.` `ClojureScriptLexer`
  Short names

    clojurescript, cljs

  Filenames

    *.cljs

  MIME types

    text/x-clojurescript, application/x-clojurescript

  Lexer for ClojureScript source code.

  New in version 2.0.

class `pygments.lexers.jvm.` `GoloLexer`
  Short names

    golo

  Filenames

    *.golo

  MIME types

    None

  For Golo source code.

  New in version 2.0.

class `pygments.lexers.jvm.` `GosuLexer`
  Short names

    gosu

  Filenames

    *.gs, *.gsx, *.gsp, *.vark

  MIME types

    text/x-gosu

  For Gosu source code.

  New in version 1.5.

class `pygments.lexers.jvm.` `GosuTemplateLexer`
  Short names

    gst

  Filenames

    *.gst

  MIME types

    text/x-gosu-template

  For Gosu templates.

  New in version 1.5.

class `pygments.lexers.jvm.` `GroovyLexer`
  Short names

    groovy

  Filenames

    *.groovy, *.gradle

  MIME types

    text/x-groovy

  For Groovy source code.

  New in version 1.5.

class `pygments.lexers.jvm.` `IokeLexer`
  Short names

    ioke, ik

  Filenames

    *.ik

  MIME types

    text/x-iokesrc

  For Ioke (a strongly typed, dynamic, prototype based programming language) source.

  New in version 1.4.

class `pygments.lexers.jvm.` `JasminLexer`
  Short names

    jasmin, jasminxt

  Filenames

    *.j

  MIME types

    None

  For Jasmin assembly code.

  New in version 2.0.

class `pygments.lexers.jvm.` `JavaLexer`
  Short names

    java

  Filenames

    *.java

  MIME types

    text/x-java

  For Java source code.

class `pygments.lexers.jvm.` `KotlinLexer`
  Short names

    kotlin

  Filenames

    *.kt

  MIME types

    text/x-kotlin

  For Kotlin source code.

  New in version 1.5.

class `pygments.lexers.jvm.` `PigLexer`
  Short names

    pig

  Filenames

    *.pig

  MIME types

    text/x-pig

  For Pig Latin source code.

  New in version 2.0.

class `pygments.lexers.jvm.` `SarlLexer`
  Short names

    sarl

  Filenames

    *.sarl

  MIME types

    text/x-sarl

For SARL source code.

.. versionadded:: 2.4

class `pygments.lexers.jvm.` `ScalaLexer`
  Short names

    scala

  Filenames

    *.scala

  MIME types

    text/x-scala

  For Scala source code.

class `pygments.lexers.jvm.` `XtendLexer`
  Short names

    xtend

  Filenames

    *.xtend

  MIME types

    text/x-xtend

  For Xtend source code.

  New in version 1.6.

## Lexers for Lispy languages

class `pygments.lexers.lisp.` `CPSALexer`
  Short names

    cpsa

  Filenames

    *.cpsa

  MIME types

    None

  A CPSA lexer based on the CPSA language as of version 2.2.12

  New in version 2.1.

class `pygments.lexers.lisp.` `CommonLispLexer`
  Short names

    common-lisp, cl, lisp

  Filenames

    *.cl, *.lisp

  MIME types

    text/x-common-lisp

  A Common Lisp lexer.

  New in version 0.9.

class `pygments.lexers.lisp.` `EmacsLispLexer`
  Short names

    emacs, elisp, emacs-lisp

  Filenames

    *.el

  MIME types

    text/x-elisp, application/x-elisp

  An ELisp lexer, parsing a stream and outputting the tokens needed to highlight elisp code.

  New in version 2.1.

class `pygments.lexers.lisp.` `FennelLexer`
  Short names

    fennel, fnl

  Filenames

    *.fnl

  MIME types

    None

  A lexer for the Fennel programming language.

  Fennel compiles to Lua, so all the Lua builtins are recognized as well as the special forms that are particular to the Fennel compiler.

  New in version 2.3.

class `pygments.lexers.lisp.` `HyLexer`
  Short names

    hylang

  Filenames

    *.hy

  MIME types

    text/x-hy, application/x-hy

  Lexer for Hy source code.

  New in version 2.0.

class `pygments.lexers.lisp.` `NewLispLexer`
  Short names

    newlisp

  Filenames

    *.lsp, *.nl, *.kif

  MIME types

    text/x-newlisp, application/x-newlisp

  For newLISP. source code (version 10.3.0).

  New in version 1.5.

class `pygments.lexers.lisp.` `RacketLexer`
  Short names

    racket, rkt

  Filenames

    *.rkt, *.rktd, *.rktl

  MIME types

    text/x-racket, application/x-racket

  Lexer for Racket source code (formerly known as PLT Scheme).

  New in version 1.6.

class `pygments.lexers.lisp.` `SchemeLexer`
  Short names

    scheme, scm

  Filenames

    *.scm, *.ss

  MIME types

    text/x-scheme, application/x-scheme

  A Scheme lexer, parsing a stream and outputting the tokens needed to highlight scheme code. This lexer could be most probably easily subclassed to parse other LISP-Dialects like Common Lisp, Emacs Lisp or AutoLisp.

  This parser is checked with pastes from the LISP pastebin at http://paste.lisp.org/ to cover as much syntax as possible.

  It supports the full Scheme syntax as defined in R5RS.

  New in version 0.6.

class `pygments.lexers.lisp.` `ShenLexer`
  Short names

    shen

  Filenames

    *.shen

  MIME types

    text/x-shen, application/x-shen

  Lexer for Shen source code.

  New in version 2.1.

class `pygments.lexers.lisp.` `XtlangLexer`
  Short names

    extempore

  Filenames

    *.xtm

  MIME types

    None

  An xtlang lexer for the Extempore programming environment.

  This is a mixture of Scheme and xtlang, really. Keyword lists are taken from the Extempore Emacs mode (https://github.com/extemporelang/extempore-emacs-mode)

  New in version 2.2.

## Lexers for Makefiles and similar

class `pygments.lexers.make.` `BaseMakefileLexer`
  Short names

    basemake

  Filenames

    None

  MIME types

    None

  Lexer for simple Makefiles (no preprocessing).

  New in version 0.10.

class `pygments.lexers.make.` `CMakeLexer`
  Short names

    cmake

  Filenames

    *.cmake, CMakeLists.txt

  MIME types

    text/x-cmake

  Lexer for CMake files.

  New in version 1.2.

class `pygments.lexers.make.` `MakefileLexer`
  Short names

    make, makefile, mf, bsdmake

  Filenames

    *.mak, *.mk, Makefile, makefile, Makefile.*, GNUmakefile

  MIME types

    text/x-makefile

  Lexer for BSD and GNU make extensions (lenient enough to handle both in the same file even).

  Rewritten in Pygments 0.10.

## Lexers for non-HTML markup languages

class `pygments.lexers.markup.` `BBCodeLexer`
  Short names

    bbcode

  Filenames

    None

  MIME types

    text/x-bbcode

  A lexer that highlights BBCode(-like) syntax.

  New in version 0.6.

class `pygments.lexers.markup.` `GroffLexer`
  Short names

    groff, nroff, man

  Filenames

    *.[1234567], *.man

  MIME types

    application/x-troff, text/troff

  Lexer for the (g)roff typesetting language, supporting groff extensions. Mainly useful for highlighting manpage sources.

  New in version 0.6.

class `pygments.lexers.markup.` `MarkdownLexer`
  Short names

    md

  Filenames

    *.md, *.markdown

  MIME types

    text/x-markdown

  For Markdown markup.

  New in version 2.2.

class `pygments.lexers.markup.` `MoinWikiLexer`
  Short names

    trac-wiki, moin

  Filenames

    None

  MIME types

    text/x-trac-wiki

  For MoinMoin (and Trac) Wiki markup.

  New in version 0.7.

class `pygments.lexers.markup.` `MozPreprocCssLexer`
  Short names

    css+mozpreproc

  Filenames

    *.css.in

  MIME types

    None

  Subclass of the MozPreprocHashLexer that highlights unlexed data with the CssLexer.

  New in version 2.0.

class `pygments.lexers.markup.` `MozPreprocHashLexer`
  Short names

    mozhashpreproc

  Filenames

    None

  MIME types

    None

  Lexer for Mozilla Preprocessor files (with ‘#’ as the marker).

  Other data is left untouched.

  New in version 2.0.

class `pygments.lexers.markup.` `MozPreprocJavascriptLexer`
  Short names

    javascript+mozpreproc

  Filenames

    *.js.in

  MIME types

    None

  Subclass of the MozPreprocHashLexer that highlights unlexed data with the JavascriptLexer.

  New in version 2.0.

class `pygments.lexers.markup.` `MozPreprocPercentLexer`
  Short names

    mozpercentpreproc

  Filenames

    None

  MIME types

    None

  Lexer for Mozilla Preprocessor files (with ‘%’ as the marker).

  Other data is left untouched.

  New in version 2.0.

class `pygments.lexers.markup.` `MozPreprocXulLexer`
  Short names

    xul+mozpreproc

  Filenames

    *.xul.in

  MIME types

    None

  Subclass of the MozPreprocHashLexer that highlights unlexed data with the XmlLexer.

  New in version 2.0.

class `pygments.lexers.markup.` `RstLexer`
  Short names

    rst, rest, restructuredtext

  Filenames

    *.rst, *.rest

  MIME types

    text/x-rst, text/prs.fallenstein.rst

  For reStructuredText markup.

  New in version 0.7.

  Additional options accepted:

  handlecodeblocks

    Highlight the contents of `.. sourcecode:: language`, `.. code:: language` and `.. code-block:: language` directives with a lexer for the given language (default: `True`).

    New in version 0.8.

class `pygments.lexers.markup.` `TexLexer`
  Short names

    tex, latex

  Filenames

    *.tex, *.aux, *.toc

  MIME types

    text/x-tex, text/x-latex

  Lexer for the TeX and LaTeX typesetting languages.

class `pygments.lexers.markup.` `TiddlyWiki5Lexer`
  Short names

    tid

  Filenames

    *.tid

  MIME types

    text/vnd.tiddlywiki

  For TiddlyWiki5 markup.

  New in version 2.7.

## Lexers for Matlab and related languages

class `pygments.lexers.matlab.` `MatlabLexer`
  Short names

    matlab

  Filenames

    *.m

  MIME types

    text/matlab

  For Matlab source code.

  New in version 0.10.

class `pygments.lexers.matlab.` `MatlabSessionLexer`
  Short names

    matlabsession

  Filenames

    None

  MIME types

    None

  For Matlab sessions. Modeled after PythonConsoleLexer. Contributed by Ken Schutte <kschutte@csail.mit.edu>.

  New in version 0.10.

class `pygments.lexers.matlab.` `OctaveLexer`
  Short names

    octave

  Filenames

    *.m

  MIME types

    text/octave

  For GNU Octave source code.

  New in version 1.5.

class `pygments.lexers.matlab.` `ScilabLexer`
  Short names

    scilab

  Filenames

    *.sci, *.sce, *.tst

  MIME types

    text/scilab

  For Scilab source code.

  New in version 1.5.

## Lexer for Multipurpose Internet Mail Extensions (MIME) data

class `pygments.lexers.mime.` `MIMELexer`
  Short names

    mime

  Filenames

    None

  MIME types

    multipart/mixed, multipart/related, multipart/alternative

  Lexer for Multipurpose Internet Mail Extensions (MIME) data. This lexer is designed to process the nested mulitpart data.

  It assumes that the given data contains both header and body (and is splitted by empty line). If no valid header is found, then the entire data would be treated as body.

  Additional options accepted:

  MIME-max-level

    Max recurssion level for nested MIME structure. Any negative number would treated as unlimited. (default: -1)

  Content-Type

    Treat the data as specific content type. Useful when header is missing, or this lexer would try to parse from header. (default: text/plain)

  Multipart-Boundary

    Set the default multipart boundary delimiter. This option is only used when Content-Type is multipart and header is missing. This lexer would try to parse from header by default. (default: None)

  Content-Transfer-Encoding

    Treat the data as specific encoding. Or this lexer would try to parse from header by default. (default: None)

  New in version 2.5.

## Lexers for ML family languages

class `pygments.lexers.ml.` `FStarLexer`
  Short names

    fstar

  Filenames

    *.fst, *.fsti

  MIME types

    text/x-fstar

  For the F* language (https://www.fstar-lang.org/). .. versionadded:: 2.7

class `pygments.lexers.ml.` `OcamlLexer`
  Short names

    ocaml

  Filenames

    *.ml, *.mli, *.mll, *.mly

  MIME types

    text/x-ocaml

  For the OCaml language.

  New in version 0.7.

class `pygments.lexers.ml.` `OpaLexer`
  Short names

    opa

  Filenames

    *.opa

  MIME types

    text/x-opa

  Lexer for the Opa language (http://opalang.org).

  New in version 1.5.

class `pygments.lexers.ml.` `ReasonLexer`
  Short names

    reason, reasonml

  Filenames

    *.re, *.rei

  MIME types

    text/x-reasonml

  For the ReasonML language (https://reasonml.github.io/).

  New in version 2.6.

class `pygments.lexers.ml.` `SMLLexer`
  Short names

    sml

  Filenames

    *.sml, *.sig, *.fun

  MIME types

    text/x-standardml, application/x-standardml

  For the Standard ML language.

  New in version 1.5.

## Lexers for modeling languages

class `pygments.lexers.modeling.` `BugsLexer`
  Short names

    bugs, winbugs, openbugs

  Filenames

    *.bug

  MIME types

    None

  Pygments Lexer for OpenBugs and WinBugs models.

  New in version 1.6.

class `pygments.lexers.modeling.` `JagsLexer`
  Short names

    jags

  Filenames

    *.jag, *.bug

  MIME types

    None

  Pygments Lexer for JAGS.

  New in version 1.6.

class `pygments.lexers.modeling.` `ModelicaLexer`
  Short names

    modelica

  Filenames

    *.mo

  MIME types

    text/x-modelica

  For Modelica source code.

  New in version 1.1.

class `pygments.lexers.modeling.` `StanLexer`
  Short names

    stan

  Filenames

    *.stan

  MIME types

    None

  Pygments Lexer for Stan models.

  The Stan modeling language is specified in the Stan Modeling Language User’s Guide and Reference Manual, v2.17.0, pdf.

  New in version 1.6.

## Multi-Dialect Lexer for Modula-2

class `pygments.lexers.modula2.` `Modula2Lexer`
  Short names

    modula2, m2

  Filenames

    *.def, *.mod

  MIME types

    text/x-modula2

  For Modula-2 source code.

  The Modula-2 lexer supports several dialects. By default, it operates in fallback mode, recognising the combined literals, punctuation symbols and operators of all supported dialects, and the combined reserved words and builtins of PIM Modula-2, ISO Modula-2 and Modula-2 R10, while not differentiating between library defined identifiers.

  To select a specific dialect, a dialect option may be passed or a dialect tag may be embedded into a source file.

  Dialect Options:

  m2pim

    Select PIM Modula-2 dialect.

  m2iso

    Select ISO Modula-2 dialect.

  m2r10

    Select Modula-2 R10 dialect.

  objm2

    Select Objective Modula-2 dialect.

  The PIM and ISO dialect options may be qualified with a language extension.

  Language Extensions:

  +aglet

    Select Aglet Modula-2 extensions, available with m2iso.

  +gm2

    Select GNU Modula-2 extensions, available with m2pim.

  +p1

    Select p1 Modula-2 extensions, available with m2iso.

  +xds

    Select XDS Modula-2 extensions, available with m2iso.

  Passing a Dialect Option via Unix Commandline Interface

  Dialect options may be passed to the lexer using the dialect key. Only one such option should be passed. If multiple dialect options are passed, the first valid option is used, any subsequent options are ignored.

  Examples:

  $ pygmentize -O full,dialect=m2iso -f html -o /path/to/output /path/to/input

    Use ISO dialect to render input to HTML output

  $ pygmentize -O full,dialect=m2iso+p1 -f rtf -o /path/to/output /path/to/input

    Use ISO dialect with p1 extensions to render input to RTF output

  Embedding a Dialect Option within a source file

  A dialect option may be embedded in a source file in form of a dialect tag, a specially formatted comment that specifies a dialect option.

  Dialect Tag EBNF:

      dialectTag :
          OpeningCommentDelim Prefix dialectOption ClosingCommentDelim ;

      dialectOption :
          'm2pim' | 'm2iso' | 'm2r10' | 'objm2' |
          'm2iso+aglet' | 'm2pim+gm2' | 'm2iso+p1' | 'm2iso+xds' ;

      Prefix : '!' ;

      OpeningCommentDelim : '(*' ;

      ClosingCommentDelim : '*)' ;

  No whitespace is permitted between the tokens of a dialect tag.

  In the event that a source file contains multiple dialect tags, the first tag that contains a valid dialect option will be used and any subsequent dialect tags will be ignored. Ideally, a dialect tag should be placed at the beginning of a source file.

  An embedded dialect tag overrides a dialect option set via command line.

  Examples:

  `(*!m2r10*) DEFINITION MODULE Foobar; ...`

    Use Modula2 R10 dialect to render this source file.

  `(*!m2pim+gm2*) DEFINITION MODULE Bazbam; ...`

    Use PIM dialect with GNU extensions to render this source file.

  Algol Publication Mode:

  In Algol publication mode, source text is rendered for publication of algorithms in scientific papers and academic texts, following the format of the Revised Algol-60 Language Report. It is activated by passing one of two corresponding styles as an option:

  algol

    render reserved words lowercase underline boldface and builtins lowercase boldface italic

  algol_nu

    render reserved words lowercase boldface (no underlining) and builtins lowercase boldface italic

  The lexer automatically performs the required lowercase conversion when this mode is activated.

  Example:

  `$ pygmentize -O full,style=algol -f latex -o /path/to/output /path/to/input`

    Render input file in Algol publication mode to LaTeX output.

  Rendering Mode of First Class ADT Identifiers:

  The rendering of standard library first class ADT identifiers is controlled by option flag “treat_stdlib_adts_as_builtins”.

  When this option is turned on, standard library ADT identifiers are rendered as builtins. When it is turned off, they are rendered as ordinary library identifiers.

  treat_stdlib_adts_as_builtins (default: On)

  The option is useful for dialects that support ADTs as first class objects and provide ADTs in the standard library that would otherwise be built-in.

  At present, only Modula-2 R10 supports library ADTs as first class objects and therefore, no ADT identifiers are defined for any other dialects.

  Example:

  `$ pygmentize -O full,dialect=m2r10,treat_stdlib_adts_as_builtins=Off ...`

    Render standard library ADTs as ordinary library types.

  New in version 1.3.

  Changed in version 2.1: Added multi-dialect support.

## Lexer for the Monte programming language

class `pygments.lexers.monte.` `MonteLexer`
  Short names

    monte

  Filenames

    *.mt

  MIME types

    None

  Lexer for the Monte programming language.

  New in version 2.2.

## Lexers for the mosel language

class `pygments.lexers.mosel.` `MoselLexer`
  Short names

    mosel

  Filenames

    *.mos

  MIME types

    None

  For the Mosel optimization language.

  New in version 2.6.

## Lexers for NCAR Command Language

class `pygments.lexers.ncl.` `NCLLexer`
  Short names

    ncl

  Filenames

    *.ncl

  MIME types

    text/ncl

  Lexer for NCL code.

  New in version 2.2.

## Lexer for the Nim language (formerly known as Nimrod)

class `pygments.lexers.nimrod.` `NimrodLexer`
  Short names

    nim, nimrod

  Filenames

    *.nim, *.nimrod

  MIME types

    text/x-nim

  For Nim source code.

  New in version 1.5.

## Lexer for the Nit language

class `pygments.lexers.nit.` `NitLexer`
  Short names

    nit

  Filenames

    *.nit

  MIME types

    None

  For nit source.

  New in version 2.0.

## Lexers for the NixOS Nix language

class `pygments.lexers.nix.` `NixLexer`
  Short names

    nixos, nix

  Filenames

    *.nix

  MIME types

    text/x-nix

  For the Nix language.

  New in version 2.0.

## Lexers for Oberon family languages

class `pygments.lexers.oberon.` `ComponentPascalLexer`
  Short names

    componentpascal, cp

  Filenames

    *.cp, *.cps

  MIME types

    text/x-component-pascal

  For Component Pascal source code.

  New in version 2.1.

## Lexers for Objective-C family languages

class `pygments.lexers.objective.` `LogosLexer`
  Short names

    logos

  Filenames

    *.x, *.xi, *.xm, *.xmi

  MIME types

    text/x-logos

  For Logos + Objective-C source code with preprocessor directives.

  New in version 1.6.

class `pygments.lexers.objective.` `ObjectiveCLexer`
  Short names

    objective-c, objectivec, obj-c, objc

  Filenames

    *.m, *.h

  MIME types

    text/x-objective-c

  For Objective-C source code with preprocessor directives.

class `pygments.lexers.objective.` `ObjectiveCppLexer`
  Short names

    objective-c++, objectivec++, obj-c++, objc++

  Filenames

    *.mm, *.hh

  MIME types

    text/x-objective-c++

  For Objective-C++ source code with preprocessor directives.

class `pygments.lexers.objective.` `SwiftLexer`
  Short names

    swift

  Filenames

    *.swift

  MIME types

    text/x-swift

  For Swift source.

  New in version 2.0.

## Lexers for the Ooc language

class `pygments.lexers.ooc.` `OocLexer`
  Short names

    ooc

  Filenames

    *.ooc

  MIME types

    text/x-ooc

  For Ooc source code

  New in version 1.2.

## Lexer for ParaSail

class `pygments.lexers.parasail.` `ParaSailLexer`
  Short names

    parasail

  Filenames

    *.psi, *.psl

  MIME types

    text/x-parasail

  For ParaSail source code.

  New in version 2.1.

## Lexers for parser generators

class `pygments.lexers.parsers.` `AntlrActionScriptLexer`
  Short names

    antlr-as, antlr-actionscript

  Filenames

    *.G, *.g

  MIME types

    None

  ANTLR with ActionScript Target

  New in version 1.1.

class `pygments.lexers.parsers.` `AntlrCSharpLexer`
  Short names

    antlr-csharp, antlr-c#

  Filenames

    *.G, *.g

  MIME types

    None

  ANTLR with C# Target

  New in version 1.1.

class `pygments.lexers.parsers.` `AntlrCppLexer`
  Short names

    antlr-cpp

  Filenames

    *.G, *.g

  MIME types

    None

  ANTLR with CPP Target

  New in version 1.1.

class `pygments.lexers.parsers.` `AntlrJavaLexer`
  Short names

    antlr-java

  Filenames

    *.G, *.g

  MIME types

    None

  ANTLR with Java Target

  New in version 1..

class `pygments.lexers.parsers.` `AntlrLexer`
  Short names

    antlr

  Filenames

    None

  MIME types

    None

  Generic ANTLR Lexer. Should not be called directly, instead use DelegatingLexer for your target language.

  New in version 1.1.

class `pygments.lexers.parsers.` `AntlrObjectiveCLexer`
  Short names

    antlr-objc

  Filenames

    *.G, *.g

  MIME types

    None

  ANTLR with Objective-C Target

  New in version 1.1.

class `pygments.lexers.parsers.` `AntlrPerlLexer`
  Short names

    antlr-perl

  Filenames

    *.G, *.g

  MIME types

    None

  ANTLR with Perl Target

  New in version 1.1.

class `pygments.lexers.parsers.` `AntlrPythonLexer`
  Short names

    antlr-python

  Filenames

    *.G, *.g

  MIME types

    None

  ANTLR with Python Target

  New in version 1.1.

class `pygments.lexers.parsers.` `AntlrRubyLexer`
  Short names

    antlr-ruby, antlr-rb

  Filenames

    *.G, *.g

  MIME types

    None

  ANTLR with Ruby Target

  New in version 1.1.

class `pygments.lexers.parsers.` `EbnfLexer`
  Short names

    ebnf

  Filenames

    *.ebnf

  MIME types

    text/x-ebnf

  Lexer for ISO/IEC 14977 EBNF grammars.

  New in version 2.0.

class `pygments.lexers.parsers.` `RagelCLexer`
  Short names

    ragel-c

  Filenames

    *.rl

  MIME types

    None

  A lexer for Ragel in a C host file.

  New in version 1.1.

class `pygments.lexers.parsers.` `RagelCppLexer`
  Short names

    ragel-cpp

  Filenames

    *.rl

  MIME types

    None

  A lexer for Ragel in a CPP host file.

  New in version 1.1.

class `pygments.lexers.parsers.` `RagelDLexer`
  Short names

    ragel-d

  Filenames

    *.rl

  MIME types

    None

  A lexer for Ragel in a D host file.

  New in version 1.1.

class `pygments.lexers.parsers.` `RagelEmbeddedLexer`
  Short names

    ragel-em

  Filenames

    *.rl

  MIME types

    None

  A lexer for Ragel embedded in a host language file.

  This will only highlight Ragel statements. If you want host language highlighting then call the language-specific Ragel lexer.

  New in version 1.1.

class `pygments.lexers.parsers.` `RagelJavaLexer`
  Short names

    ragel-java

  Filenames

    *.rl

  MIME types

    None

  A lexer for Ragel in a Java host file.

  New in version 1.1.

class `pygments.lexers.parsers.` `RagelLexer`
  Short names

    ragel

  Filenames

    None

  MIME types

    None

  A pure Ragel lexer. Use this for fragments of Ragel. For `.rl` files, use RagelEmbeddedLexer instead (or one of the language-specific subclasses).

  New in version 1.1.

class `pygments.lexers.parsers.` `RagelObjectiveCLexer`
  Short names

    ragel-objc

  Filenames

    *.rl

  MIME types

    None

  A lexer for Ragel in an Objective C host file.

  New in version 1.1.

class `pygments.lexers.parsers.` `RagelRubyLexer`
  Short names

    ragel-ruby, ragel-rb

  Filenames

    *.rl

  MIME types

    None

  A lexer for Ragel in a Ruby host file.

  New in version 1.1.

class `pygments.lexers.parsers.` `TreetopLexer`
  Short names

    treetop

  Filenames

    *.treetop, *.tt

  MIME types

    None

  A lexer for Treetop grammars.

  New in version 1.6.

## Lexers for Pascal family languages

class `pygments.lexers.pascal.` `AdaLexer`
  Short names

    ada, ada95, ada2005

  Filenames

    *.adb, *.ads, *.ada

  MIME types

    text/x-ada

  For Ada source code.

  New in version 1.3.

class `pygments.lexers.pascal.` `DelphiLexer`
  Short names

    delphi, pas, pascal, objectpascal

  Filenames

    *.pas, *.dpr

  MIME types

    text/x-pascal

  For Delphi (Borland Object Pascal), Turbo Pascal and Free Pascal source code.

  Additional options accepted:

  turbopascal

    Highlight Turbo Pascal specific keywords (default: `True`).

  delphi

    Highlight Borland Delphi specific keywords (default: `True`).

  freepascal

    Highlight Free Pascal specific keywords (default: `True`).

  units

    A list of units that should be considered builtin, supported are `System`, `SysUtils`, `Classes` and `Math`. Default is to consider all of them builtin.

## Lexers for the Pawn languages

class `pygments.lexers.pawn.` `PawnLexer`
  Short names

    pawn

  Filenames

    *.p, *.pwn, *.inc

  MIME types

    text/x-pawn

  For Pawn source code.

  New in version 2.0.

class `pygments.lexers.pawn.` `SourcePawnLexer`
  Short names

    sp

  Filenames

    *.sp

  MIME types

    text/x-sourcepawn

  For SourcePawn source code with preprocessor directives.

  New in version 1.6.

## Lexers for Perl, Raku and related languages

class `pygments.lexers.perl.` `Perl6Lexer`
  Short names

    perl6, pl6, raku

  Filenames

    *.pl, *.pm, *.nqp, *.p6, *.6pl, *.p6l, *.pl6, *.6pm, *.p6m, *.pm6, *.t, *.raku, *.rakumod, *.rakutest, *.rakudoc

  MIME types

    text/x-perl6, application/x-perl6

  For Raku (a.k.a. Perl 6) source code.

  New in version 2.0.

class `pygments.lexers.perl.` `PerlLexer`
  Short names

    perl, pl

  Filenames

    *.pl, *.pm, *.t, *.perl

  MIME types

    text/x-perl, application/x-perl

  For Perl source code.

## Lexers for PHP and related languages

class `pygments.lexers.php.` `PhpLexer`
  Short names

    php, php3, php4, php5

  Filenames

    *.php, *.php[345], *.inc

  MIME types

    text/x-php

  For PHP source code. For PHP embedded in HTML, use the HtmlPhpLexer.

  Additional options accepted:

  startinline

    If given and `True` the lexer starts highlighting with php code (i.e.: no starting `<?php` required). The default is `False`.

  funcnamehighlighting

    If given and `True`, highlight builtin function names (default: `True`).

  disabledmodules

    If given, must be a list of module names whose function names should not be highlighted. By default all modules are highlighted except the special `'unknown'` module that includes functions that are known to php but are undocumented.

    To get a list of allowed modules have a look into the _php_builtins module:

        >>> from pygments.lexers._php_builtins import MODULES
        >>> MODULES.keys()
        ['PHP Options/Info', 'Zip', 'dba', ...]

    In fact the names of those modules match the module names from the php documentation.

class `pygments.lexers.php.` `PsyshConsoleLexer`
  Short names

    psysh

  Filenames

    None

  MIME types

    None

  For PsySH console output, such as:

      >>> $greeting = function($name): string {
      ...     return "Hello, {$name}";
      ... };
      => Closure($name): string {#2371 …3}
      >>> $greeting('World')
      => "Hello, World"

  New in version 2.7.

class `pygments.lexers.php.` `ZephirLexer`
  Short names

    zephir

  Filenames

    *.zep

  MIME types

    None

  For Zephir language source code.

  Zephir is a compiled high level language aimed to the creation of C-extensions for PHP.

  New in version 2.0.

## Lexers for Pointless

class `pygments.lexers.pointless.` `PointlessLexer`
  Short names

    pointless

  Filenames

    *.ptls

  MIME types

    None

  For Pointless source code.

  New in version 2.7.

## Lexers for Pony and related languages

class `pygments.lexers.pony.` `PonyLexer`
  Short names

    pony

  Filenames

    *.pony

  MIME types

    None

  For Pony source code.

  New in version 2.4.

## Lexer for Praat

class `pygments.lexers.praat.` `PraatLexer`
  Short names

    praat

  Filenames

    *.praat, *.proc, *.psc

  MIME types

    None

  For Praat scripts.

  New in version 2.1.

## Lexers for Prolog and Prolog-like languages

class `pygments.lexers.prolog.` `LogtalkLexer`
  Short names

    logtalk

  Filenames

    *.lgt, *.logtalk

  MIME types

    text/x-logtalk

  For Logtalk source code.

  New in version 0.10.

class `pygments.lexers.prolog.` `PrologLexer`
  Short names

    prolog

  Filenames

    *.ecl, *.prolog, *.pro, *.pl

  MIME types

    text/x-prolog

  Lexer for Prolog files.

## Lexer for Prometheus Query Language

class `pygments.lexers.promql.` `PromQLLexer`
  Short names

    promql

  Filenames

    *.promql

  MIME types

    None

  For PromQL queries.

  For details about the grammar see: https://github.com/prometheus/prometheus/tree/master/promql/parser

## Lexers for Python and related languages

class `pygments.lexers.python.` `CythonLexer`
  Short names

    cython, pyx, pyrex

  Filenames

    *.pyx, *.pxd, *.pxi

  MIME types

    text/x-cython, application/x-cython

  For Pyrex and Cython source code.

  New in version 1.1.

class `pygments.lexers.python.` `DgLexer`
  Short names

    dg

  Filenames

    *.dg

  MIME types

    text/x-dg

  Lexer for dg, a functional and object-oriented programming language running on the CPython 3 VM.

  New in version 1.6.

class `pygments.lexers.python.` `NumPyLexer`
  Short names

    numpy

  Filenames

    None

  MIME types

    None

  A Python lexer recognizing Numerical Python builtins.

  New in version 0.10.

class `pygments.lexers.python.` `Python2Lexer`
  Short names

    python2, py2

  Filenames

    None

  MIME types

    text/x-python2, application/x-python2

  For Python 2.x source code.

  Changed in version 2.5: This class has been renamed from `PythonLexer`. `PythonLexer` now refers to the Python 3 variant. File name patterns like `*.py` have been moved to Python 3 as well.

class `pygments.lexers.python.` `Python2TracebackLexer`
  Short names

    py2tb

  Filenames

    *.py2tb

  MIME types

    text/x-python2-traceback

  For Python tracebacks.

  New in version 0.7.

  Changed in version 2.5: This class has been renamed from `PythonTracebackLexer`. `PythonTracebackLexer` now refers to the Python 3 variant.

class `pygments.lexers.python.` `PythonConsoleLexer`
  Short names

    pycon

  Filenames

    None

  MIME types

    text/x-python-doctest

  For Python console output or doctests, such as:

      >>> a = 'foo'
      >>> print a
      foo
      >>> 1 / 0
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      ZeroDivisionError: integer division or modulo by zero

  Additional options:

  python3

    Use Python 3 lexer for code. Default is `True`.

    New in version 1.0.

    Changed in version 2.5: Now defaults to `True`.

class `pygments.lexers.python.` `PythonLexer`
  Short names

    python, py, sage, python3, py3

  Filenames

    *.py, *.pyw, *.jy, *.sage, *.sc, SConstruct, SConscript, *.bzl, BUCK, BUILD, BUILD.bazel, WORKSPACE, *.tac

  MIME types

    text/x-python, application/x-python, text/x-python3, application/x-python3

  For Python source code (version 3.x).

  New in version 0.10.

  Changed in version 2.5: This is now the default `PythonLexer`. It is still available as the alias `Python3Lexer`.

class `pygments.lexers.python.` `PythonTracebackLexer`
  Short names

    pytb, py3tb

  Filenames

    *.pytb, *.py3tb

  MIME types

    text/x-python-traceback, text/x-python3-traceback

  For Python 3.x tracebacks, with support for chained exceptions.

  New in version 1.0.

  Changed in version 2.5: This is now the default `PythonTracebackLexer`. It is still available as the alias `Python3TracebackLexer`.

## Lexer for QVT Operational language

class `pygments.lexers.qvt.` `QVToLexer`
  Short names

    qvto, qvt

  Filenames

    *.qvto

  MIME types

    None

  For the QVT Operational Mapping language.

  Reference for implementing this: «Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification», Version 1.1 - January 2011 (http://www.omg.org/spec/QVT/1.1/), see §8.4, «Concrete Syntax» in particular.

  Notable tokens assignments:

  - Name.Class is assigned to the identifier following any of the following keywords: metamodel, class, exception, primitive, enum, transformation or library

  - Name.Function is assigned to the names of mappings and queries

  - Name.Builtin.Pseudo is assigned to the pre-defined variables ‘this’, ‘self’ and ‘result’.

## Lexers for the R/S languages

class `pygments.lexers.r.` `RConsoleLexer`
  Short names

    rconsole, rout

  Filenames

    *.Rout

  MIME types

    None

  For R console transcripts or R CMD BATCH output files.

class `pygments.lexers.r.` `RdLexer`
  Short names

    rd

  Filenames

    *.Rd

  MIME types

    text/x-r-doc

  Pygments Lexer for R documentation (Rd) files

  This is a very minimal implementation, highlighting little more than the macros. A description of Rd syntax is found in Writing R Extensions and Parsing Rd files.

  New in version 1.6.

class `pygments.lexers.r.` `SLexer`
  Short names

    splus, s, r

  Filenames

    *.S, *.R, .Rhistory, .Rprofile, .Renviron

  MIME types

    text/S-plus, text/S, text/x-r-source, text/x-r, text/x-R, text/x-r-history, text/x-r-profile

  For S, S-plus, and R source code.

  New in version 0.10.

## Lexers for semantic web and RDF query languages and markup

class `pygments.lexers.rdf.` `ShExCLexer`
  Short names

    shexc, shex

  Filenames

    *.shex

  MIME types

    text/shex

  Lexer for ShExC shape expressions language syntax.

class `pygments.lexers.rdf.` `SparqlLexer`
  Short names

    sparql

  Filenames

    *.rq, *.sparql

  MIME types

    application/sparql-query

  Lexer for SPARQL query language.

  New in version 2.0.

class `pygments.lexers.rdf.` `TurtleLexer`
  Short names

    turtle

  Filenames

    *.ttl

  MIME types

    text/turtle, application/x-turtle

  Lexer for Turtle data language.

  New in version 2.1.

## Lexers for the REBOL and related languages

class `pygments.lexers.rebol.` `RebolLexer`
  Short names

    rebol

  Filenames

    *.r, *.r3, *.reb

  MIME types

    text/x-rebol

  A REBOL lexer.

  New in version 1.1.

class `pygments.lexers.rebol.` `RedLexer`
  Short names

    red, red/system

  Filenames

    *.red, *.reds

  MIME types

    text/x-red, text/x-red-system

  A Red-language lexer.

  New in version 2.0.

## Lexer for resource definition files

class `pygments.lexers.resource.` `ResourceLexer`
  Short names

    resource, resourcebundle

  Filenames

    None

  MIME types

    None

  Lexer for ICU Resource bundles.

  New in version 2.0.

## Lexer for the Ride programming language

class `pygments.lexers.ride.` `RideLexer`
  Short names

    ride

  Filenames

    *.ride

  MIME types

    text/x-ride

  For Ride source code.

  New in version 2.6.

## Lexer for Relax-NG Compact syntax

class `pygments.lexers.rnc.` `RNCCompactLexer`
  Short names

    rnc, rng-compact

  Filenames

    *.rnc

  MIME types

    None

  For RelaxNG-compact syntax.

  New in version 2.2.

## Lexers for Roboconf DSL

class `pygments.lexers.roboconf.` `RoboconfGraphLexer`
  Short names

    roboconf-graph

  Filenames

    *.graph

  MIME types

    None

  Lexer for Roboconf graph files.

  New in version 2.1.

class `pygments.lexers.roboconf.` `RoboconfInstancesLexer`
  Short names

    roboconf-instances

  Filenames

    *.instances

  MIME types

    None

  Lexer for Roboconf instances files.

  New in version 2.1.

## Lexer for Robot Framework

class `pygments.lexers.robotframework.` `RobotFrameworkLexer`
  Short names

    robotframework

  Filenames

    *.robot

  MIME types

    text/x-robotframework

  For Robot Framework test data.

  Supports both space and pipe separated plain text formats.

  New in version 1.6.

## Lexers for Ruby and related languages

class `pygments.lexers.ruby.` `FancyLexer`
  Short names

    fancy, fy

  Filenames

    *.fy, *.fancypack

  MIME types

    text/x-fancysrc

  Pygments Lexer For Fancy.

  Fancy is a self-hosted, pure object-oriented, dynamic, class-based, concurrent general-purpose programming language running on Rubinius, the Ruby VM.

  New in version 1.5.

class `pygments.lexers.ruby.` `RubyConsoleLexer`
  Short names

    rbcon, irb

  Filenames

    None

  MIME types

    text/x-ruby-shellsession

  For Ruby interactive console (irb) output like:

      irb(main):001:0> a = 1
      => 1
      irb(main):002:0> puts a
      1
      => nil

class `pygments.lexers.ruby.` `RubyLexer`
  Short names

    rb, ruby, duby

  Filenames

    *.rb, *.rbw, Rakefile, *.rake, *.gemspec, *.rbx, *.duby, Gemfile

  MIME types

    text/x-ruby, application/x-ruby

  For Ruby source code.

## Lexers for the Rust language

class `pygments.lexers.rust.` `RustLexer`
  Short names

    rust, rs

  Filenames

    *.rs, *.rs.in

  MIME types

    text/rust, text/x-rust

  Lexer for the Rust programming language (version 1.40).

  New in version 1.6.

## Lexer for SAS

class `pygments.lexers.sas.` `SASLexer`
  Short names

    sas

  Filenames

    *.SAS, *.sas

  MIME types

    text/x-sas, text/sas, application/x-sas

  For SAS files.

  New in version 2.2.

## Lexer for scdoc, a simple man page generator

class `pygments.lexers.scdoc.` `ScdocLexer`
  Short names

    scdoc, scd

  Filenames

    *.scd, *.scdoc

  MIME types

    None

  scdoc is a simple man page generator for POSIX systems written in C99. https://git.sr.ht/~sircmpwn/scdoc

  New in version 2.5.

## Lexer for scripting and embedded languages

class `pygments.lexers.scripting.` `AppleScriptLexer`
  Short names

    applescript

  Filenames

    *.applescript

  MIME types

    None

  For AppleScript source code, including AppleScript Studio. Contributed by Andreas Amann <aamann@mac.com>.

  New in version 1.0.

class `pygments.lexers.scripting.` `ChaiscriptLexer`
  Short names

    chai, chaiscript

  Filenames

    *.chai

  MIME types

    text/x-chaiscript, application/x-chaiscript

  For ChaiScript source code.

  New in version 2.0.

class `pygments.lexers.scripting.` `EasytrieveLexer`
  Short names

    easytrieve

  Filenames

    *.ezt, *.mac

  MIME types

    text/x-easytrieve

  Easytrieve Plus is a programming language for extracting, filtering and converting sequential data. Furthermore it can layout data for reports. It is mainly used on mainframe platforms and can access several of the mainframe’s native file formats. It is somewhat comparable to awk.

  New in version 2.1.

class `pygments.lexers.scripting.` `HybrisLexer`
  Short names

    hybris, hy

  Filenames

    *.hy, *.hyb

  MIME types

    text/x-hybris, application/x-hybris

  For Hybris source code.

  New in version 1.4.

class `pygments.lexers.scripting.` `JclLexer`
  Short names

    jcl

  Filenames

    *.jcl

  MIME types

    text/x-jcl

  Job Control Language (JCL) is a scripting language used on mainframe platforms to instruct the system on how to run a batch job or start a subsystem. It is somewhat comparable to MS DOS batch and Unix shell scripts.

  New in version 2.1.

class `pygments.lexers.scripting.` `LSLLexer`
  Short names

    lsl

  Filenames

    *.lsl

  MIME types

    text/x-lsl

  For Second Life’s Linden Scripting Language source code.

  New in version 2.0.

class `pygments.lexers.scripting.` `LuaLexer`
  Short names

    lua

  Filenames

    *.lua, *.wlua

  MIME types

    text/x-lua, application/x-lua

  For Lua source code.

  Additional options accepted:

  func_name_highlighting

    If given and `True`, highlight builtin function names (default: `True`).

  disabled_modules

    If given, must be a list of module names whose function names should not be highlighted. By default all modules are highlighted.

    To get a list of allowed modules have a look into the _lua_builtins module:

        >>> from pygments.lexers._lua_builtins import MODULES
        >>> MODULES.keys()
        ['string', 'coroutine', 'modules', 'io', 'basic', ...]

class `pygments.lexers.scripting.` `MOOCodeLexer`
  Short names

    moocode, moo

  Filenames

    *.moo

  MIME types

    text/x-moocode

  For MOOCode (the MOO scripting language).

  New in version 0.9.

class `pygments.lexers.scripting.` `MiniScriptLexer`
  Short names

    ms, miniscript

  Filenames

    *.ms

  MIME types

    text/x-minicript, application/x-miniscript

  For MiniScript source code.

  New in version 2.6.

class `pygments.lexers.scripting.` `MoonScriptLexer`
  Short names

    moon, moonscript

  Filenames

    *.moon

  MIME types

    text/x-moonscript, application/x-moonscript

  For MoonScript source code.

  New in version 1.5.

class `pygments.lexers.scripting.` `RexxLexer`
  Short names

    rexx, arexx

  Filenames

    *.rexx, *.rex, *.rx, *.arexx

  MIME types

    text/x-rexx

  Rexx is a scripting language available for a wide range of different platforms with its roots found on mainframe systems. It is popular for I/O- and data based tasks and can act as glue language to bind different applications together.

  New in version 2.0.

## Lexer for Smart Game Format (sgf) file format

class `pygments.lexers.sgf.` `SmartGameFormatLexer`
  Short names

    sgf

  Filenames

    *.sgf

  MIME types

    None

  Lexer for Smart Game Format (sgf) file format.

  The format is used to store game records of board games for two players (mainly Go game). For more information about the definition of the format, see: https://www.red-bean.com/sgf/

  New in version 2.4.

## Lexers for various shells

class `pygments.lexers.shell.` `BashLexer`
  Short names

    bash, sh, ksh, zsh, shell

  Filenames

    *.sh, *.ksh, *.bash, *.ebuild, *.eclass, *.exheres-0, *.exlib, *.zsh, .bashrc, bashrc, .bash\*, bash\*, zshrc, .zshrc, PKGBUILD

  MIME types

    application/x-sh, application/x-shellscript, text/x-shellscript

  Lexer for (ba|k|z|)sh shell scripts.

  New in version 0.6.

class `pygments.lexers.shell.` `BashSessionLexer`
  Short names

    console, shell-session

  Filenames

    *.sh-session, *.shell-session

  MIME types

    application/x-shell-session, application/x-sh-session

  Lexer for simplistic shell sessions.

  New in version 1.1.

class `pygments.lexers.shell.` `BatchLexer`
  Short names

    bat, batch, dosbatch, winbatch

  Filenames

    *.bat, *.cmd

  MIME types

    application/x-dos-batch

  Lexer for the DOS/Windows Batch file format.

  New in version 0.7.

class `pygments.lexers.shell.` `ExeclineLexer`
  Short names

    execline

  Filenames

    *.exec

  MIME types

    None

  Lexer for Laurent Bercot’s execline language (https://skarnet.org/software/execline).

  New in version 2.7.

class `pygments.lexers.shell.` `FishShellLexer`
  Short names

    fish, fishshell

  Filenames

    *.fish, *.load

  MIME types

    application/x-fish

  Lexer for Fish shell scripts.

  New in version 2.1.

class `pygments.lexers.shell.` `MSDOSSessionLexer`
  Short names

    doscon

  Filenames

    None

  MIME types

    None

  Lexer for simplistic MSDOS sessions.

  New in version 2.1.

class `pygments.lexers.shell.` `PowerShellLexer`
  Short names

    powershell, posh, ps1, psm1

  Filenames

    *.ps1, *.psm1

  MIME types

    text/x-powershell

  For Windows PowerShell code.

  New in version 1.5.

class `pygments.lexers.shell.` `PowerShellSessionLexer`
  Short names

    ps1con

  Filenames

    None

  MIME types

    None

  Lexer for simplistic Windows PowerShell sessions.

  New in version 2.1.

class `pygments.lexers.shell.` `SlurmBashLexer`
  Short names

    slurm, sbatch

  Filenames

    *.sl

  MIME types

    None

  Lexer for (ba|k|z|)sh Slurm scripts.

  New in version 2.4.

class `pygments.lexers.shell.` `TcshLexer`
  Short names

    tcsh, csh

  Filenames

    *.tcsh, *.csh

  MIME types

    application/x-csh

  Lexer for tcsh scripts.

  New in version 0.10.

class `pygments.lexers.shell.` `TcshSessionLexer`
  Short names

    tcshcon

  Filenames

    None

  MIME types

    None

  Lexer for Tcsh sessions.

  New in version 2.1.

## Lexer for Sieve file format

class `pygments.lexers.sieve.` `SieveLexer`
  Short names

    sieve

  Filenames

    *.siv, *.sieve

  MIME types

    None

  Lexer for sieve format.

## Lexer for the Slash programming

class `pygments.lexers.slash.` `SlashLexer`
  Short names

    slash

  Filenames

    *.sl

  MIME types

    None

  Lexer for the Slash programming language.

  New in version 2.4.

## Lexers for Smalltalk and related languages

class `pygments.lexers.smalltalk.` `NewspeakLexer`
  Short names

    newspeak

  Filenames

    *.ns2

  MIME types

    text/x-newspeak

  For Newspeak syntax.

  New in version 1.1.

class `pygments.lexers.smalltalk.` `SmalltalkLexer`
  Short names

    smalltalk, squeak, st

  Filenames

    *.st

  MIME types

    text/x-smalltalk

  For Smalltalk syntax. Contributed by Stefan Matthias Aust. Rewritten by Nils Winter.

  New in version 0.10.

## Lexers for the SMV languages

class `pygments.lexers.smv.` `NuSMVLexer`
  Short names

    nusmv

  Filenames

    *.smv

  MIME types

    None

  Lexer for the NuSMV language.

  New in version 2.2.

## Lexers for the SNOBOL language

class `pygments.lexers.snobol.` `SnobolLexer`
  Short names

    snobol

  Filenames

    *.snobol

  MIME types

    text/x-snobol

  Lexer for the SNOBOL4 programming language.

  Recognizes the common ASCII equivalents of the original SNOBOL4 operators. Does not require spaces around binary operators.

  New in version 1.5.

## Lexers for Solidity

class `pygments.lexers.solidity.` `SolidityLexer`
  Short names

    solidity

  Filenames

    *.sol

  MIME types

    None

  For Solidity source code.

  New in version 2.5.

## Special lexers

class `pygments.lexers.special.` `RawTokenLexer`
  Short names

    raw

  Filenames

    None

  MIME types

    application/x-pygments-tokens

  Recreate a token stream formatted with the RawTokenFormatter. This lexer raises exceptions during parsing if the token stream in the file is malformed.

  Additional options accepted:

  compress

    If set to `"gz"` or `"bz2"`, decompress the token stream with the given compression algorithm before lexing (default: `""`).

class `pygments.lexers.special.` `TextLexer`
  Short names

    text

  Filenames

    *.txt

  MIME types

    text/plain

  “Null” lexer, doesn’t highlight anything.

## Lexers for various SQL dialects and related interactive sessions

class `pygments.lexers.sql.` `MySqlLexer`
  Short names

    mysql

  Filenames

    None

  MIME types

    text/x-mysql

  The Oracle MySQL lexer.

  This lexer does not attempt to maintain strict compatibility with MariaDB syntax or keywords. Although MySQL and MariaDB’s common code history suggests there may be significant overlap between the two, compatibility between the two is not a target for this lexer.

class `pygments.lexers.sql.` `PlPgsqlLexer`
  Short names

    plpgsql

  Filenames

    None

  MIME types

    text/x-plpgsql

  Handle the extra syntax in Pl/pgSQL language.

  New in version 1.5.

class `pygments.lexers.sql.` `PostgresConsoleLexer`
  Short names

    psql, postgresql-console, postgres-console

  Filenames

    None

  MIME types

    text/x-postgresql-psql

  Lexer for psql sessions.

  New in version 1.5.

class `pygments.lexers.sql.` `PostgresLexer`
  Short names

    postgresql, postgres

  Filenames

    None

  MIME types

    text/x-postgresql

  Lexer for the PostgreSQL dialect of SQL.

  New in version 1.5.

class `pygments.lexers.sql.` `RqlLexer`
  Short names

    rql

  Filenames

    *.rql

  MIME types

    text/x-rql

  Lexer for Relation Query Language.

  RQL

  New in version 2.0.

class `pygments.lexers.sql.` `SqlLexer`
  Short names

    sql

  Filenames

    *.sql

  MIME types

    text/x-sql

  Lexer for Structured Query Language. Currently, this lexer does not recognize any special syntax except ANSI SQL.

class `pygments.lexers.sql.` `SqliteConsoleLexer`
  Short names

    sqlite3

  Filenames

    *.sqlite3-console

  MIME types

    text/x-sqlite3-console

  Lexer for example sessions using sqlite3.

  New in version 0.11.

class `pygments.lexers.sql.` `TransactSqlLexer`
  Short names

    tsql, t-sql

  Filenames

    *.sql

  MIME types

    text/x-tsql

  Transact-SQL (T-SQL) is Microsoft’s and Sybase’s proprietary extension to SQL.

  The list of keywords includes ODBC and keywords reserved for future use..

## Lexer for Stata

class `pygments.lexers.stata.` `StataLexer`
  Short names

    stata, do

  Filenames

    *.do, *.ado

  MIME types

    text/x-stata, text/stata, application/x-stata

  For Stata do files.

  New in version 2.2.

## Lexer for SuperCollider

class `pygments.lexers.supercollider.` `SuperColliderLexer`
  Short names

    sc, supercollider

  Filenames

    *.sc, *.scd

  MIME types

    application/supercollider, text/supercollider

  For SuperCollider source code.

  New in version 2.1.

## Lexers for Tcl and related languages

class `pygments.lexers.tcl.` `TclLexer`
  Short names

    tcl

  Filenames

    *.tcl, *.rvt

  MIME types

    text/x-tcl, text/x-script.tcl, application/x-tcl

  For Tcl source code.

  New in version 0.10.

## Lexers for various template engines’ markup

class `pygments.lexers.templates.` `Angular2HtmlLexer`
  Short names

    html+ng2

  Filenames

    *.ng2

  MIME types

    None

  Subclass of the Angular2Lexer that highlights unlexed data with the HtmlLexer.

  New in version 2.0.

class `pygments.lexers.templates.` `Angular2Lexer`
  Short names

    ng2

  Filenames

    None

  MIME types

    None

  Generic angular2 template lexer.

  Highlights only the Angular template tags (stuff between {{ and }} and special attributes: ‘(event)=’, ‘[property]=’, ‘[(twoWayBinding)]=’). Everything else is left for a delegating lexer.

  New in version 2.1.

class `pygments.lexers.templates.` `CheetahHtmlLexer`
  Short names

    html+cheetah, html+spitfire, htmlcheetah

  Filenames

    None

  MIME types

    text/html+cheetah, text/html+spitfire

  Subclass of the CheetahLexer that highlights unlexed data with the HtmlLexer.

class `pygments.lexers.templates.` `CheetahJavascriptLexer`
  Short names

    js+cheetah, javascript+cheetah, js+spitfire, javascript+spitfire

  Filenames

    None

  MIME types

    application/x-javascript+cheetah, text/x-javascript+cheetah, text/javascript+cheetah, application/x-javascript+spitfire, text/x-javascript+spitfire, text/javascript+spitfire

  Subclass of the CheetahLexer that highlights unlexed data with the JavascriptLexer.

class `pygments.lexers.templates.` `CheetahLexer`
  Short names

    cheetah, spitfire

  Filenames

    *.tmpl, *.spt

  MIME types

    application/x-cheetah, application/x-spitfire

  Generic cheetah templates lexer. Code that isn’t Cheetah markup is yielded as Token.Other. This also works for spitfire templates which use the same syntax.

class `pygments.lexers.templates.` `CheetahXmlLexer`
  Short names

    xml+cheetah, xml+spitfire

  Filenames

    None

  MIME types

    application/xml+cheetah, application/xml+spitfire

  Subclass of the CheetahLexer that highlights unlexed data with the XmlLexer.

class `pygments.lexers.templates.` `ColdfusionCFCLexer`
  Short names

    cfc

  Filenames

    *.cfc

  MIME types

    None

  Coldfusion markup/script components

  New in version 2.0.

class `pygments.lexers.templates.` `ColdfusionHtmlLexer`
  Short names

    cfm

  Filenames

    *.cfm, *.cfml

  MIME types

    application/x-coldfusion

  Coldfusion markup in html

class `pygments.lexers.templates.` `ColdfusionLexer`
  Short names

    cfs

  Filenames

    None

  MIME types

    None

  Coldfusion statements

class `pygments.lexers.templates.` `CssDjangoLexer`
  Short names

    css+django, css+jinja

  Filenames

    None

  MIME types

    text/css+django, text/css+jinja

  Subclass of the DjangoLexer that highlights unlexed data with the CssLexer.

class `pygments.lexers.templates.` `CssErbLexer`
  Short names

    css+erb, css+ruby

  Filenames

    None

  MIME types

    text/css+ruby

  Subclass of ErbLexer which highlights unlexed data with the CssLexer.

class `pygments.lexers.templates.` `CssGenshiLexer`
  Short names

    css+genshitext, css+genshi

  Filenames

    None

  MIME types

    text/css+genshi

  A lexer that highlights CSS definitions in genshi text templates.

class `pygments.lexers.templates.` `CssPhpLexer`
  Short names

    css+php

  Filenames

    None

  MIME types

    text/css+php

  Subclass of PhpLexer which highlights unmatched data with the CssLexer.

class `pygments.lexers.templates.` `CssSmartyLexer`
  Short names

    css+smarty

  Filenames

    None

  MIME types

    text/css+smarty

  Subclass of the SmartyLexer that highlights unlexed data with the CssLexer.

class `pygments.lexers.templates.` `DjangoLexer`
  Short names

    django, jinja

  Filenames

    None

  MIME types

    application/x-django-templating, application/x-jinja

  Generic django and jinja template lexer.

  It just highlights django/jinja code between the preprocessor directives, other data is left untouched by the lexer.

class `pygments.lexers.templates.` `ErbLexer`
  Short names

    erb

  Filenames

    None

  MIME types

    application/x-ruby-templating

  Generic ERB (Ruby Templating) lexer.

  Just highlights ruby code between the preprocessor directives, other data is left untouched by the lexer.

  All options are also forwarded to the RubyLexer.

class `pygments.lexers.templates.` `EvoqueHtmlLexer`
  Short names

    html+evoque

  Filenames

    *.html

  MIME types

    text/html+evoque

  Subclass of the EvoqueLexer that highlights unlexed data with the HtmlLexer.

  New in version 1.1.

class `pygments.lexers.templates.` `EvoqueLexer`
  Short names

    evoque

  Filenames

    *.evoque

  MIME types

    application/x-evoque

  For files using the Evoque templating system.

  New in version 1.1.

class `pygments.lexers.templates.` `EvoqueXmlLexer`
  Short names

    xml+evoque

  Filenames

    *.xml

  MIME types

    application/xml+evoque

  Subclass of the EvoqueLexer that highlights unlexed data with the XmlLexer.

  New in version 1.1.

class `pygments.lexers.templates.` `GenshiLexer`
  Short names

    genshi, kid, xml+genshi, xml+kid

  Filenames

    *.kid

  MIME types

    application/x-genshi, application/x-kid

  A lexer that highlights genshi and kid kid XML templates.

class `pygments.lexers.templates.` `GenshiTextLexer`
  Short names

    genshitext

  Filenames

    None

  MIME types

    application/x-genshi-text, text/x-genshi

  A lexer that highlights genshi text templates.

class `pygments.lexers.templates.` `HandlebarsHtmlLexer`
  Short names

    html+handlebars

  Filenames

    *.handlebars, *.hbs

  MIME types

    text/html+handlebars, text/x-handlebars-template

  Subclass of the HandlebarsLexer that highlights unlexed data with the HtmlLexer.

  New in version 2.0.

class `pygments.lexers.templates.` `HandlebarsLexer`
  Short names

    handlebars

  Filenames

    None

  MIME types

    None

  Generic handlebars <http://handlebarsjs.com/> template lexer.

  Highlights only the Handlebars template tags (stuff between {{ and }}). Everything else is left for a delegating lexer.

  New in version 2.0.

class `pygments.lexers.templates.` `HtmlDjangoLexer`
  Short names

    html+django, html+jinja, htmldjango

  Filenames

    None

  MIME types

    text/html+django, text/html+jinja

  Subclass of the DjangoLexer that highlights unlexed data with the HtmlLexer.

  Nested Javascript and CSS is highlighted too.

class `pygments.lexers.templates.` `HtmlGenshiLexer`
  Short names

    html+genshi, html+kid

  Filenames

    None

  MIME types

    text/html+genshi

  A lexer that highlights genshi and kid kid HTML templates.

class `pygments.lexers.templates.` `HtmlPhpLexer`
  Short names

    html+php

  Filenames

    *.phtml

  MIME types

    application/x-php, application/x-httpd-php, application/x-httpd-php3, application/x-httpd-php4, application/x-httpd-php5

  Subclass of PhpLexer that highlights unhandled data with the HtmlLexer.

  Nested Javascript and CSS is highlighted too.

class `pygments.lexers.templates.` `HtmlSmartyLexer`
  Short names

    html+smarty

  Filenames

    None

  MIME types

    text/html+smarty

  Subclass of the SmartyLexer that highlights unlexed data with the HtmlLexer.

  Nested Javascript and CSS is highlighted too.

class `pygments.lexers.templates.` `JavascriptDjangoLexer`
  Short names

    js+django, javascript+django, js+jinja, javascript+jinja

  Filenames

    None

  MIME types

    application/x-javascript+django, application/x-javascript+jinja, text/x-javascript+django, text/x-javascript+jinja, text/javascript+django, text/javascript+jinja

  Subclass of the DjangoLexer that highlights unlexed data with the JavascriptLexer.

class `pygments.lexers.templates.` `JavascriptErbLexer`
  Short names

    js+erb, javascript+erb, js+ruby, javascript+ruby

  Filenames

    None

  MIME types

    application/x-javascript+ruby, text/x-javascript+ruby, text/javascript+ruby

  Subclass of ErbLexer which highlights unlexed data with the JavascriptLexer.

class `pygments.lexers.templates.` `JavascriptGenshiLexer`
  Short names

    js+genshitext, js+genshi, javascript+genshitext, javascript+genshi

  Filenames

    None

  MIME types

    application/x-javascript+genshi, text/x-javascript+genshi, text/javascript+genshi

  A lexer that highlights javascript code in genshi text templates.

class `pygments.lexers.templates.` `JavascriptPhpLexer`
  Short names

    js+php, javascript+php

  Filenames

    None

  MIME types

    application/x-javascript+php, text/x-javascript+php, text/javascript+php

  Subclass of PhpLexer which highlights unmatched data with the JavascriptLexer.

class `pygments.lexers.templates.` `JavascriptSmartyLexer`
  Short names

    js+smarty, javascript+smarty

  Filenames

    None

  MIME types

    application/x-javascript+smarty, text/x-javascript+smarty, text/javascript+smarty

  Subclass of the SmartyLexer that highlights unlexed data with the JavascriptLexer.

class `pygments.lexers.templates.` `JspLexer`
  Short names

    jsp

  Filenames

    *.jsp

  MIME types

    application/x-jsp

  Lexer for Java Server Pages.

  New in version 0.7.

class `pygments.lexers.templates.` `LassoCssLexer`
  Short names

    css+lasso

  Filenames

    None

  MIME types

    text/css+lasso

  Subclass of the LassoLexer which highlights unhandled data with the CssLexer.

  New in version 1.6.

class `pygments.lexers.templates.` `LassoHtmlLexer`
  Short names

    html+lasso

  Filenames

    None

  MIME types

    text/html+lasso, application/x-httpd-lasso, application/x-httpd-lasso[89]

  Subclass of the LassoLexer which highlights unhandled data with the HtmlLexer.

  Nested JavaScript and CSS is also highlighted.

  New in version 1.6.

class `pygments.lexers.templates.` `LassoJavascriptLexer`
  Short names

    js+lasso, javascript+lasso

  Filenames

    None

  MIME types

    application/x-javascript+lasso, text/x-javascript+lasso, text/javascript+lasso

  Subclass of the LassoLexer which highlights unhandled data with the JavascriptLexer.

  New in version 1.6.

class `pygments.lexers.templates.` `LassoXmlLexer`
  Short names

    xml+lasso

  Filenames

    None

  MIME types

    application/xml+lasso

  Subclass of the LassoLexer which highlights unhandled data with the XmlLexer.

  New in version 1.6.

class `pygments.lexers.templates.` `LiquidLexer`
  Short names

    liquid

  Filenames

    *.liquid

  MIME types

    None

  Lexer for Liquid templates.

  New in version 2.0.

class `pygments.lexers.templates.` `MakoCssLexer`
  Short names

    css+mako

  Filenames

    None

  MIME types

    text/css+mako

  Subclass of the MakoLexer that highlights unlexed data with the CssLexer.

  New in version 0.7.

class `pygments.lexers.templates.` `MakoHtmlLexer`
  Short names

    html+mako

  Filenames

    None

  MIME types

    text/html+mako

  Subclass of the MakoLexer that highlights unlexed data with the HtmlLexer.

  New in version 0.7.

class `pygments.lexers.templates.` `MakoJavascriptLexer`
  Short names

    js+mako, javascript+mako

  Filenames

    None

  MIME types

    application/x-javascript+mako, text/x-javascript+mako, text/javascript+mako

  Subclass of the MakoLexer that highlights unlexed data with the JavascriptLexer.

  New in version 0.7.

class `pygments.lexers.templates.` `MakoLexer`
  Short names

    mako

  Filenames

    *.mao

  MIME types

    application/x-mako

  Generic mako templates lexer. Code that isn’t Mako markup is yielded as Token.Other.

  New in version 0.7.

class `pygments.lexers.templates.` `MakoXmlLexer`
  Short names

    xml+mako

  Filenames

    None

  MIME types

    application/xml+mako

  Subclass of the MakoLexer that highlights unlexed data with the XmlLexer.

  New in version 0.7.

class `pygments.lexers.templates.` `MasonLexer`
  Short names

    mason

  Filenames

    *.m, *.mhtml, *.mc, *.mi, autohandler, dhandler

  MIME types

    application/x-mason

  Generic mason templates lexer. Stolen from Myghty lexer. Code that isn’t Mason markup is HTML.

  New in version 1.4.

class `pygments.lexers.templates.` `MyghtyCssLexer`
  Short names

    css+myghty

  Filenames

    None

  MIME types

    text/css+myghty

  Subclass of the MyghtyLexer that highlights unlexed data with the CssLexer.

  New in version 0.6.

class `pygments.lexers.templates.` `MyghtyHtmlLexer`
  Short names

    html+myghty

  Filenames

    None

  MIME types

    text/html+myghty

  Subclass of the MyghtyLexer that highlights unlexed data with the HtmlLexer.

  New in version 0.6.

class `pygments.lexers.templates.` `MyghtyJavascriptLexer`
  Short names

    js+myghty, javascript+myghty

  Filenames

    None

  MIME types

    application/x-javascript+myghty, text/x-javascript+myghty, text/javascript+mygthy

  Subclass of the MyghtyLexer that highlights unlexed data with the JavascriptLexer.

  New in version 0.6.

class `pygments.lexers.templates.` `MyghtyLexer`
  Short names

    myghty

  Filenames

    *.myt, autodelegate

  MIME types

    application/x-myghty

  Generic myghty templates lexer. Code that isn’t Myghty markup is yielded as Token.Other.

  New in version 0.6.

class `pygments.lexers.templates.` `MyghtyXmlLexer`
  Short names

    xml+myghty

  Filenames

    None

  MIME types

    application/xml+myghty

  Subclass of the MyghtyLexer that highlights unlexed data with the XmlLexer.

  New in version 0.6.

class `pygments.lexers.templates.` `RhtmlLexer`
  Short names

    rhtml, html+erb, html+ruby

  Filenames

    *.rhtml

  MIME types

    text/html+ruby

  Subclass of the ERB lexer that highlights the unlexed data with the html lexer.

  Nested Javascript and CSS is highlighted too.

class `pygments.lexers.templates.` `SmartyLexer`
  Short names

    smarty

  Filenames

    *.tpl

  MIME types

    application/x-smarty

  Generic Smarty template lexer.

  Just highlights smarty code between the preprocessor directives, other data is left untouched by the lexer.

class `pygments.lexers.templates.` `SspLexer`
  Short names

    ssp

  Filenames

    *.ssp

  MIME types

    application/x-ssp

  Lexer for Scalate Server Pages.

  New in version 1.4.

class `pygments.lexers.templates.` `TeaTemplateLexer`
  Short names

    tea

  Filenames

    *.tea

  MIME types

    text/x-tea

  Lexer for Tea Templates.

  New in version 1.5.

class `pygments.lexers.templates.` `TwigHtmlLexer`
  Short names

    html+twig

  Filenames

    *.twig

  MIME types

    text/html+twig

  Subclass of the TwigLexer that highlights unlexed data with the HtmlLexer.

  New in version 2.0.

class `pygments.lexers.templates.` `TwigLexer`
  Short names

    twig

  Filenames

    None

  MIME types

    application/x-twig

  Twig template lexer.

  It just highlights Twig code between the preprocessor directives, other data is left untouched by the lexer.

  New in version 2.0.

class `pygments.lexers.templates.` `VelocityHtmlLexer`
  Short names

    html+velocity

  Filenames

    None

  MIME types

    text/html+velocity

  Subclass of the VelocityLexer that highlights unlexed data with the HtmlLexer.

class `pygments.lexers.templates.` `VelocityLexer`
  Short names

    velocity

  Filenames

    *.vm, *.fhtml

  MIME types

    None

  Generic Velocity template lexer.

  Just highlights velocity directives and variable references, other data is left untouched by the lexer.

class `pygments.lexers.templates.` `VelocityXmlLexer`
  Short names

    xml+velocity

  Filenames

    None

  MIME types

    application/xml+velocity

  Subclass of the VelocityLexer that highlights unlexed data with the XmlLexer.

class `pygments.lexers.templates.` `XmlDjangoLexer`
  Short names

    xml+django, xml+jinja

  Filenames

    None

  MIME types

    application/xml+django, application/xml+jinja

  Subclass of the DjangoLexer that highlights unlexed data with the XmlLexer.

class `pygments.lexers.templates.` `XmlErbLexer`
  Short names

    xml+erb, xml+ruby

  Filenames

    None

  MIME types

    application/xml+ruby

  Subclass of ErbLexer which highlights data outside preprocessor directives with the XmlLexer.

class `pygments.lexers.templates.` `XmlPhpLexer`
  Short names

    xml+php

  Filenames

    None

  MIME types

    application/xml+php

  Subclass of PhpLexer that highlights unhandled data with the XmlLexer.

class `pygments.lexers.templates.` `XmlSmartyLexer`
  Short names

    xml+smarty

  Filenames

    None

  MIME types

    application/xml+smarty

  Subclass of the SmartyLexer that highlights unlexed data with the XmlLexer.

class `pygments.lexers.templates.` `YamlJinjaLexer`
  Short names

    yaml+jinja, salt, sls

  Filenames

    *.sls

  MIME types

    text/x-yaml+jinja, text/x-sls

  Subclass of the DjangoLexer that highlights unlexed data with the YamlLexer.

  Commonly used in Saltstack salt states.

  New in version 2.0.

## Lexer for Tera Term macro files

class `pygments.lexers.teraterm.` `TeraTermLexer`
  Short names

    ttl, teraterm, teratermmacro

  Filenames

    *.ttl

  MIME types

    text/x-teratermmacro

  For Tera Term macro source code.

  New in version 2.4.

## Lexers for testing languages

class `pygments.lexers.testing.` `GherkinLexer`
  Short names

    cucumber, gherkin

  Filenames

    *.feature

  MIME types

    text/x-gherkin

  For Gherkin <https://github.com/aslakhellesoy/gherkin/> syntax.

  New in version 1.2.

class `pygments.lexers.testing.` `TAPLexer`
  Short names

    tap

  Filenames

    *.tap

  MIME types

    None

  For Test Anything Protocol (TAP) output.

  New in version 2.1.

## Lexers for languages related to text processing

class `pygments.lexers.textedit.` `AwkLexer`
  Short names

    awk, gawk, mawk, nawk

  Filenames

    *.awk

  MIME types

    application/x-awk

  For Awk scripts.

  New in version 1.5.

class `pygments.lexers.textedit.` `VimLexer`
  Short names

    vim

  Filenames

    *.vim, .vimrc, .exrc, .gvimrc, vimrc, exrc, gvimrc, vimrc, gvimrc

  MIME types

    text/x-vim

  Lexer for VimL script files.

  New in version 0.8.

## Lexers for various text formats

class `pygments.lexers.textfmts.` `GettextLexer`
  Short names

    pot, po

  Filenames

    *.pot, *.po

  MIME types

    application/x-gettext, text/x-gettext, text/gettext

  Lexer for Gettext catalog files.

  New in version 0.9.

class `pygments.lexers.textfmts.` `HttpLexer`
  Short names

    http

  Filenames

    None

  MIME types

    None

  Lexer for HTTP sessions.

  New in version 1.5.

class `pygments.lexers.textfmts.` `IrcLogsLexer`
  Short names

    irc

  Filenames

    *.weechatlog

  MIME types

    text/x-irclog

  Lexer for IRC logs in irssi, xchat or weechat style.

class `pygments.lexers.textfmts.` `KernelLogLexer`
  Short names

    kmsg, dmesg

  Filenames

    *.kmsg, *.dmesg

  MIME types

    None

  For Linux Kernel log (“dmesg”) output.

  New in version 2.6.

class `pygments.lexers.textfmts.` `NotmuchLexer`
  Short names

    notmuch

  Filenames

    None

  MIME types

    None

  For Notmuch email text format.

  New in version 2.5.

  Additional options accepted:

  body_lexer

    If given, highlight the contents of the message body with the specified lexer, else guess it according to the body content (default: `None`).

class `pygments.lexers.textfmts.` `TodotxtLexer`
  Short names

    todotxt

  Filenames

    todo.txt, *.todotxt

  MIME types

    text/x-todo

  Lexer for Todo.txt todo list format.

  New in version 2.0.

## Lexers for theorem-proving languages

class `pygments.lexers.theorem.` `CoqLexer`
  Short names

    coq

  Filenames

    *.v

  MIME types

    text/x-coq

  For the Coq theorem prover.

  New in version 1.5.

class `pygments.lexers.theorem.` `IsabelleLexer`
  Short names

    isabelle

  Filenames

    *.thy

  MIME types

    text/x-isabelle

  For the Isabelle proof assistant.

  New in version 2.0.

class `pygments.lexers.theorem.` `LeanLexer`
  Short names

    lean

  Filenames

    *.lean

  MIME types

    text/x-lean

  For the Lean theorem prover.

  New in version 2.0.

## Lexer for Typographic Number Theory

class `pygments.lexers.tnt.` `TNTLexer`
  Short names

    tnt

  Filenames

    *.tnt

  MIME types

    None

  Lexer for Typographic Number Theory, as described in the book Gödel, Escher, Bach, by Douglas R. Hofstadter, or as summarized here: https://github.com/Kenny2github/language-tnt/blob/master/README.md#summary-of-tnt

  New in version 2.7.

## Lexer for RiverBed’s TrafficScript (RTS) language

class `pygments.lexers.trafficscript.` `RtsLexer`
  Short names

    rts, trafficscript

  Filenames

    *.rts

  MIME types

    None

  For Riverbed Stingray Traffic Manager

  New in version 2.1.

## Lexers for TypoScript

class `pygments.lexers.typoscript.` `TypoScriptCssDataLexer`
  Short names

    typoscriptcssdata

  Filenames

    None

  MIME types

    None

  Lexer that highlights markers, constants and registers within css blocks.

  New in version 2.2.

class `pygments.lexers.typoscript.` `TypoScriptHtmlDataLexer`
  Short names

    typoscripthtmldata

  Filenames

    None

  MIME types

    None

  Lexer that highlights markers, constants and registers within html tags.

  New in version 2.2.

class `pygments.lexers.typoscript.` `TypoScriptLexer`
  Short names

    typoscript

  Filenames

    *.typoscript

  MIME types

    text/x-typoscript

  Lexer for TypoScript code.

  http://docs.typo3.org/typo3cms/TyposcriptReference/

  New in version 2.2.

## Lexers for the Icon and Unicon languages, including ucode VM

class `pygments.lexers.unicon.` `IconLexer`
  Short names

    icon

  Filenames

    *.icon, *.ICON

  MIME types

    None

  Lexer for Icon.

  New in version 1.6.

class `pygments.lexers.unicon.` `UcodeLexer`
  Short names

    ucode

  Filenames

    *.u, *.u1, *.u2

  MIME types

    None

  Lexer for Icon ucode files.

  New in version 2.4.

class `pygments.lexers.unicon.` `UniconLexer`
  Short names

    unicon

  Filenames

    *.icn

  MIME types

    text/unicon

  For Unicon source code.

  New in version 2.4.

## Lexers for UrbiScript language

class `pygments.lexers.urbi.` `UrbiscriptLexer`
  Short names

    urbiscript

  Filenames

    *.u

  MIME types

    application/x-urbiscript

  For UrbiScript source code.

  New in version 1.5.

## The module that parses Pixar’s Universal Scene Description file format

class `pygments.lexers.usd.` `UsdLexer`
  Short names

    usd, usda

  Filenames

    *.usd, *.usda

  MIME types

    None

  A lexer that parses Pixar’s Universal Scene Description file format.

  New in version 2.6.

## Lexers for Varnish configuration

class `pygments.lexers.varnish.` `VCLLexer`
  Short names

    vcl

  Filenames

    *.vcl

  MIME types

    text/x-vclsrc

  For Varnish Configuration Language (VCL).

  New in version 2.2.

class `pygments.lexers.varnish.` `VCLSnippetLexer`
  Short names

    vclsnippets, vclsnippet

  Filenames

    None

  MIME types

    text/x-vclsnippet

  For Varnish Configuration Language snippets.

  New in version 2.2.

## Lexer for Intermediate Verification Languages (IVLs)

class `pygments.lexers.verification.` `BoogieLexer`
  Short names

    boogie

  Filenames

    *.bpl

  MIME types

    None

  For Boogie source code.

  New in version 2.1.

class `pygments.lexers.verification.` `SilverLexer`
  Short names

    silver

  Filenames

    *.sil, *.vpr

  MIME types

    None

  For Silver source code.

  New in version 2.2.

## Lexers for Web IDL, including some extensions

class `pygments.lexers.webidl.` `WebIDLLexer`
  Short names

    webidl

  Filenames

    *.webidl

  MIME types

    None

  For Web IDL.

  New in version 2.6.

## Lexers for misc. web stuff

class `pygments.lexers.webmisc.` `CirruLexer`
  Short names

    cirru

  Filenames

    *.cirru

  MIME types

    text/x-cirru

  Syntax rules of Cirru can be found at: http://cirru.org/

  - using `()` for expressions, but restricted in a same line

  - using `""` for strings, with `\` for escaping chars

  - using `$` as folding operator

  - using `,` as unfolding operator

  - using indentations for nested blocks

  New in version 2.0.

class `pygments.lexers.webmisc.` `DuelLexer`
  Short names

    duel, jbst, jsonml+bst

  Filenames

    *.duel, *.jbst

  MIME types

    text/x-duel, text/x-jbst

  Lexer for Duel Views Engine (formerly JBST) markup with JavaScript code blocks. See http://duelengine.org/. See http://jsonml.org/jbst/.

  New in version 1.4.

class `pygments.lexers.webmisc.` `QmlLexer`
  Short names

    qml, qbs

  Filenames

    *.qml, *.qbs

  MIME types

    application/x-qml, application/x-qt.qbs+qml

  For QML files. See http://doc.qt.digia.com/4.7/qdeclarativeintroduction.html.

  New in version 1.6.

class `pygments.lexers.webmisc.` `SlimLexer`
  Short names

    slim

  Filenames

    *.slim

  MIME types

    text/x-slim

  For Slim markup.

  New in version 2.0.

class `pygments.lexers.webmisc.` `XQueryLexer`
  Short names

    xquery, xqy, xq, xql, xqm

  Filenames

    *.xqy, *.xquery, *.xq, *.xql, *.xqm

  MIME types

    text/xquery, application/xquery

  An XQuery lexer, parsing a stream and outputting the tokens needed to highlight xquery code.

  New in version 1.4.

## Lexers for the Whiley language

class `pygments.lexers.whiley.` `WhileyLexer`
  Short names

    whiley

  Filenames

    *.whiley

  MIME types

    text/x-whiley

  Lexer for the Whiley programming language.

  New in version 2.2.

## Lexers for the X10 programming language

class `pygments.lexers.x10.` `X10Lexer`
  Short names

    x10, xten

  Filenames

    *.x10

  MIME types

    text/x-x10

  For the X10 language.

  New in version 0.1.

## Lexers for Xorg configs

class `pygments.lexers.xorg.` `XorgLexer`
  Short names

    xorg.conf

  Filenames

    xorg.conf

  MIME types

    None

  Lexer for xorg.conf file.

## Lexer for the YANG 1.1 modeling language. See RFC 7950

class `pygments.lexers.yang.` `YangLexer`
  Short names

    yang

  Filenames

    *.yang

  MIME types

    application/yang

  Lexer for YANG, based on RFC7950

  New in version 2.7.

## Lexers for Zig

class `pygments.lexers.zig.` `ZigLexer`
  Short names

    zig

  Filenames

    *.zig

  MIME types

    text/zig

  For Zig source code.

  grammar: https://ziglang.org/documentation/master/#Grammar

## Iterating over all lexers

New in version 0.6.

To get all lexers (both the builtin and the plugin ones), you can use the get_all_lexers() function from the pygments.lexers module:

    >>> from pygments.lexers import get_all_lexers
    >>> i = get_all_lexers()
    >>> i.next()
    ('Diff', ('diff',), ('*.diff', '*.patch'), ('text/x-diff', 'text/x-patch'))
    >>> i.next()
    ('Delphi', ('delphi', 'objectpascal', 'pas', 'pascal'), ('*.pas',), ('text/x-pascal',))
    >>> i.next()
    ('XML+Ruby', ('xml+erb', 'xml+ruby'), (), ())

As you can see, the return value is an iterator which yields tuples in the form `(name, aliases, filetypes, mimetypes)`.