可用词法分析器

本页列出了所有可用的内置词法分析器以及它们所接受的选项。

当前,**所有词法分析器** 都支持以下选项

stripnl

从输入中删除开头和结尾的换行符(默认:True

stripall

从输入中删除开头和结尾的所有空格(默认:False)。

ensurenl

确保输入以换行符结尾(默认:True)。这对于一些逐行消费输入的词法分析器来说是必需的。

在版本 1.3 中添加。

tabsize

如果给出并且大于 0,则在输入中展开制表符(默认:0)。

encoding

如果给出,则必须是编码名称(例如 "utf-8")。此编码将用于将输入字符串转换为 Unicode(如果它尚未是 Unicode 字符串)。默认值为 "guess"

如果此选项设置为 "guess",则使用简单的 UTF-8 与 Latin-1 检测,如果它设置为 "chardet",则使用 chardet 库 来猜测输入的编码。

在版本 0.6 中添加。

“短名称”字段列出了可与 get_lexer_by_name() 函数一起使用的标识符。

这些词法分析器是内置的,可以从 pygments.lexers 中导入

ActionScript 和 MXML 的词法分析器

class pygments.lexers.actionscript.ActionScript3Lexer
短名称:

actionscript3, as3

文件名:

*.as

MIME 类型:

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

用于 ActionScript 3 源代码。

在版本 0.11 中添加。

class pygments.lexers.actionscript.ActionScriptLexer
短名称:

actionscript, as

文件名:

*.as

MIME 类型:

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

用于 ActionScript 源代码。

在版本 0.9 中添加。

class pygments.lexers.actionscript.MxmlLexer
短名称:

mxml

文件名:

*.mxml

MIME 类型:

用于 MXML 标记。嵌套在 <script> 标签中的 AS3 代码将由相应的词法分析器突出显示。

在 1.1 版本中添加。

Ada 家族语言的词法分析器

class pygments.lexers.ada.AdaLexer
短名称:

ada, ada95, ada2005

文件名:

*.adb, *.ads, *.ada

MIME 类型:

text/x-ada

用于 Ada 源代码。

在版本 1.3 中添加。

计算机代数系统的词法分析器

class pygments.lexers.algebra.BCLexer
短名称:

bc

文件名:

*.bc

MIME 类型:

一个 BC 词法分析器。

在 2.1 版本中添加。

class pygments.lexers.algebra.GAPConsoleLexer
短名称:

gap-console, gap-repl

文件名:

*.tst

MIME 类型:

用于 GAP 控制台会话。模仿 JuliaConsoleLexer。

例子

#@local checkEuclideanRing
gap> START_TEST("euclidean.tst");

# test consistency of EuclideanDegree, EuclideanQuotient, EuclideanRemainder,
# and QuotientRemainder for some ring and elements of it
gap> checkEuclideanRing :=
> function(R, colls...)
>   local coll1, coll2, a, b, deg_b, deg_r, q, r, qr;
>   if Length(colls) >= 1 then coll1:=colls[1];
>   elif Size(R) <= 100 then coll1 := R;
>   else coll1 := List([1..100],i->Random(R));
>   fi;
>   if Length(colls) >= 2 then coll2:=colls[2];
>   elif Size(R) <= 100 then coll2 := R;
>   else coll2 := List([1..100],i->Random(R));
>   fi;
>   for b in coll1 do
>     if IsZero(b) then continue; fi;
>     deg_b := EuclideanDegree(R, b);
>     for a in coll2 do
>       q := EuclideanQuotient(R, a, b); Assert(0, q in R);
>       r := EuclideanRemainder(R, a, b); Assert(0, r in R);
>       if a <> q*b + r then Error("a <> q*b + r for ", [R,a,b]); fi;
>       deg_r := EuclideanDegree(R, r);
>       if not IsZero(r) and deg_r >= deg_b then Error("Euclidean degree did not decrease for ",[R,a,b]); fi;
>       qr := QuotientRemainder(R, a, b);
>       if qr <> [q, r] then Error("QuotientRemainder inconsistent for ", [R,a,b]); fi;
>     od;
>   od;
>   return true;
> end;;

# rings in characteristic 0
gap> checkEuclideanRing(Integers,[-100..100],[-100..100]);
true
gap> checkEuclideanRing(Rationals);
true
gap> checkEuclideanRing(GaussianIntegers);
true
gap> checkEuclideanRing(GaussianRationals);
true

# finite fields
gap> ForAll(Filtered([2..50], IsPrimePowerInt), q->checkEuclideanRing(GF(q)));
true

# ZmodnZ
gap> ForAll([1..50], m -> checkEuclideanRing(Integers mod m));
true
gap> checkEuclideanRing(Integers mod ((2*3*5)^2));
true
gap> checkEuclideanRing(Integers mod ((2*3*5)^3));
true
gap> checkEuclideanRing(Integers mod ((2*3*5*7)^2));
true
gap> checkEuclideanRing(Integers mod ((2*3*5*7)^3));
true

#
gap> STOP_TEST( "euclidean.tst", 1);

在 2.14 版本中添加。

class pygments.lexers.algebra.GAPLexer
短名称:

gap

文件名:

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

MIME 类型:

用于 GAP 源代码。

在 2.0 版本中添加。

class pygments.lexers.algebra.MathematicaLexer
短名称:

mathematica, mma, nb

文件名:

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

MIME 类型:

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

Mathematica 源代码的词法分析器。

在 2.0 版本中添加。

class pygments.lexers.algebra.MuPADLexer
短名称:

mupad

文件名:

*.mu

MIME 类型:

一个 MuPAD 词法分析器。由 Christopher Creutzig <christopher@creutzig.de> 贡献。

在 0.8 版本中添加。

AmbientTalk 语言的词法分析器

class pygments.lexers.ambient.AmbientTalkLexer
短名称:

ambienttalk, ambienttalk/2, at

文件名:

*.at

MIME 类型:

text/x-ambienttalk

AmbientTalk 源代码的词法分析器。

在 2.0 版本中添加。

AMDGPU ISA 汇编的词法分析器

class pygments.lexers.amdgpu.AMDGPULexer
短名称:

amdgpu

文件名:

*.isa

MIME 类型:

用于 AMD GPU 汇编。

在 2.8 版本中添加。

AMPL 语言的词法分析器

class pygments.lexers.ampl.AmplLexer
短名称:

ampl

文件名:

*.run

MIME 类型:

用于 AMPL 源代码。

在 2.2 版本中添加。

ANSYS 参数化设计语言的词法分析器

class pygments.lexers.apdlexer.apdlexer
短名称:

ansys, apdl

文件名:

*.ans

MIME 类型:

用于 APDL 源代码。

在 2.9 版本中添加。

APL 的词法分析器

class pygments.lexers.apl.APLLexer
短名称:

apl

文件名:

*.apl, *.aplf, *.aplo, *.apln, *.aplc, *.apli, *.dyalog

MIME 类型:

一个简单的 APL 词法分析器。

在 2.0 版本中添加。

Arrow 的词法分析器

class pygments.lexers.arrow.ArrowLexer
短名称:

arrow

文件名:

*.arw

MIME 类型:

Arrow 的词法分析器

在 2.7 版本中添加。

Arturo 语言的词法分析器

class pygments.lexers.arturo.ArturoLexer
短名称:

arturo, art

文件名:

*.art

MIME 类型:

用于 Arturo 源代码。

参见 Arturo 的 GithubArturo 的网站

在 2.14 版本中添加。

各种 ASCII 编码文件的词法分析器

class pygments.lexers.asc.AscLexer
短名称:

asc, pem

文件名:

*.asc, *.pem, iddsa, idecdsa, idecdsask, ided25519, ided25519sk, idrsa

MIME 类型:

application/pgp-keys, application/pgp-encrypted, application/pgp-signature, application/pem-certificate-chain

用于 ASCII 编码文件,包含用 —–BEGIN/END …—– 包裹的 base64 数据。

在 2.10 版本中添加。

汇编语言的词法分析器

class pygments.lexers.asm.CObjdumpLexer
短名称:

c-objdump

文件名:

*.c-objdump

MIME 类型:

text/x-c-objdump

用于编译后的 C 文件使用 objdump -Sr 命令生成的输出。

class pygments.lexers.asm.Ca65Lexer
短名称:

ca65

文件名:

*.s

MIME 类型:

用于 ca65 汇编程序源代码。

在 1.6 版本中添加。

class pygments.lexers.asm.CppObjdumpLexer
短名称:

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

文件名:

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

MIME 类型:

text/x-cpp-objdump

用于编译后的 C++ 文件使用 objdump -Sr 命令生成的输出。

class pygments.lexers.asm.DObjdumpLexer
短名称:

d-objdump

文件名:

*.d-objdump

MIME 类型:

text/x-d-objdump

用于编译后的 D 文件使用 objdump -Sr 命令生成的输出。

class pygments.lexers.asm.Dasm16Lexer
短名称:

dasm16

文件名:

*.dasm16, *.dasm

MIME 类型:

text/x-dasm16

用于 DCPU-16 汇编。

在 2.4 版本中添加。

class pygments.lexers.asm.GasLexer
短名称:

gas, asm

文件名:

*.s, *.S

MIME 类型:

text/x-gas

用于 Gas (AT&T) 汇编代码。

class pygments.lexers.asm.HsailLexer
短名称:

hsail, hsa

文件名:

*.hsail

MIME 类型:

text/x-hsail

用于 HSAIL 汇编代码。

在 2.2 版本中添加。

class pygments.lexers.asm.LlvmLexer
短名称:

llvm

文件名:

*.ll

MIME 类型:

text/x-llvm

用于 LLVM 汇编代码。

class pygments.lexers.asm.LlvmMirBodyLexer
短名称:

llvm-mir-body

文件名:

MIME 类型:

用于没有 YAML 包装器的 LLVM MIR 示例。

在 2.6 版本中添加。

class pygments.lexers.asm.LlvmMirLexer
短名称:

llvm-mir

文件名:

*.mir

MIME 类型:

用于 LLVM MIR 文档格式的词法分析器。

MIR 是一种人类可读的序列化格式,用于表示 LLVM 的机器特定中间表示。它允许 LLVM 的开发人员在各种点查看编译过程的状态,以及测试编译器的各个部分。

在 2.6 版本中添加。

class pygments.lexers.asm.NasmLexer
短名称:

nasm

文件名:

*.asm, *.ASM, *.nasm

MIME 类型:

text/x-nasm

用于 Nasm (Intel) 汇编代码。

class pygments.lexers.asm.NasmObjdumpLexer
短名称:

objdump-nasm

文件名:

*.objdump-intel

MIME 类型:

text/x-nasm-objdump

用于 objdump -d -M intel 命令的输出。

在 2.0 版本中添加。

class pygments.lexers.asm.ObjdumpLexer
短名称:

objdump

文件名:

*.objdump

MIME 类型:

text/x-objdump

用于 objdump -dr 的输出。

class pygments.lexers.asm.TasmLexer
短名称:

tasm

文件名:

*.asm, *.ASM, *.tasm

MIME 类型:

text/x-tasm

用于 Tasm (Turbo Assembler) 汇编代码。

Pygments 用于 ASN.1 的词法分析器

class pygments.lexers.asn1.Asn1Lexer
短名称:

asn1

文件名:

*.asn1

MIME 类型:

用于 ASN.1 模块定义的词法分析器

在版本 2.16 中添加。

用于自动化脚本语言的词法分析器

class pygments.lexers.automation.AutoItLexer
短名称:

autoit

文件名:

*.au3

MIME 类型:

text/x-autoit

用于 AutoIt 文件。

AutoIt 是一种免费的类似 BASIC 的脚本语言,用于自动化 Windows GUI 和通用脚本。

在 1.6 版本中添加。

class pygments.lexers.automation.AutohotkeyLexer
短名称:

autohotkey, ahk

文件名:

*.ahk, *.ahkl

MIME 类型:

text/x-autohotkey

用于 autohotkey 源代码。

在版本 1.4 中添加。

用于 BARE 架构的词法分析器

class pygments.lexers.bare.BareLexer
短名称:

bare

文件名:

*.bare

MIME 类型:

用于 BARE 架构源代码。

在 2.7 版本中添加。

用于类似 BASIC 的语言(除了 VB.net)的词法分析器

class pygments.lexers.basic.BBCBasicLexer
短名称:

bbcbasic

文件名:

*.bbc

MIME 类型:

BBC Basic 随 BBC Micro 提供,后来也在 Acorn RISC OS 上提供。它也用于 BBC Basic For Windows。

在 2.4 版本中添加。

class pygments.lexers.basic.BlitzBasicLexer
短名称:

blitzbasic, b3d, bplus

文件名:

*.bb, *.decls

MIME 类型:

text/x-bb

用于 BlitzBasic 源代码。

在 2.0 版本中添加。

class pygments.lexers.basic.BlitzMaxLexer
短名称:

blitzmax, bmax

文件名:

*.bmx

MIME 类型:

text/x-bmx

用于 BlitzMax 源代码。

在版本 1.4 中添加。

class pygments.lexers.basic.CbmBasicV2Lexer
短名称:

cbmbas

文件名:

*.bas

MIME 类型:

用于 CBM BASIC V2 源代码。

在 1.6 版本中添加。

class pygments.lexers.basic.MonkeyLexer
短名称:

monkey

文件名:

*.monkey

MIME 类型:

text/x-monkey

用于 Monkey 源代码。

在 1.6 版本中添加。

class pygments.lexers.basic.QBasicLexer
短名称:

qbasic, basic

文件名:

*.BAS, *.bas

MIME 类型:

text/basic

用于 QBasic 源代码。

在 2.0 版本中添加。

class pygments.lexers.basic.VBScriptLexer
短名称:

vbscript

文件名:

*.vbs, *.VBS

MIME 类型:

VBScript 是一种脚本语言,它模仿了 Visual Basic。

在 2.4 版本中添加。

用于 BDD(行为驱动开发) 的词法分析器

class pygments.lexers.bdd.BddLexer
短名称:

bdd

文件名:

*.feature

MIME 类型:

text/x-bdd

用于 BDD(行为驱动开发) 的词法分析器,它不仅突出显示关键字,还突出显示注释、标点符号、字符串、数字和变量。

在版本 2.11 中添加。

用于 Berry 的词法分析器

class pygments.lexers.berry.BerryLexer
短名称:

berry, be

文件名:

*.be

MIME 类型:

text/x-berry, application/x-berry

用于 Berry 源代码。

在版本 2.12 中添加。

用于 BibTeX 参考文献数据和样式的词法分析器

class pygments.lexers.bibtex.BSTLexer
短名称:

bst, bst-pybtex

文件名:

*.bst

MIME 类型:

用于 BibTeX 参考文献样式的词法分析器。

在 2.2 版本中添加。

class pygments.lexers.bibtex.BibTeXLexer
短名称:

bibtex, bib

文件名:

*.bib

MIME 类型:

text/x-bibtex

用于 BibTeX 参考文献数据格式的词法分析器。

在 2.2 版本中添加。

用于 Blueprint UI 标记语言的词法分析器

class pygments.lexers.blueprint.BlueprintLexer
短名称:

blueprint

文件名:

*.blp

MIME 类型:

text/x-blueprint

用于 Blueprint UI 标记。

在版本 2.16 中添加。

用于 Boa 语言的词法分析器

class pygments.lexers.boa.BoaLexer
短名称:

boa

文件名:

*.boa

MIME 类型:

用于 Boa 语言的词法分析器。

在 2.4 版本中添加。

用于 BQN 的词法分析器

class pygments.lexers.bqn.BQNLexer
短名称:

bqn

文件名:

*.bqn

MIME 类型:

一个简单的 BQN 词法分析器。

在版本 2.16 中添加。

用于“面向商业”语言的词法分析器

class pygments.lexers.business.ABAPLexer
短名称:

abap

文件名:

*.abap, *.ABAP

MIME 类型:

text/x-abap

用于 ABAP,SAP 的集成语言的词法分析器。

在 1.1 版本中添加。

class pygments.lexers.business.CobolFreeformatLexer
短名称:

cobolfree

文件名:

*.cbl, *.CBL

MIME 类型:

用于自由格式 OpenCOBOL 代码的词法分析器。

在 1.6 版本中添加。

class pygments.lexers.business.CobolLexer
短名称:

cobol

文件名:

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

MIME 类型:

text/x-cobol

用于 OpenCOBOL 代码的词法分析器。

在 1.6 版本中添加。

class pygments.lexers.business.GoodDataCLLexer
短名称:

gooddata-cl

文件名:

*.gdc

MIME 类型:

text/x-gooddata-cl

用于 GoodData-CL 脚本文件的词法分析器。

在版本 1.4 中添加。

class pygments.lexers.business.MaqlLexer
短名称:

maql

文件名:

*.maql

MIME 类型:

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

用于 GoodData MAQL 脚本的词法分析器。

在版本 1.4 中添加。

class pygments.lexers.business.OpenEdgeLexer
短名称:

openedge, abl, progress

文件名:

*.p, *.cls

MIME 类型:

text/x-openedge, application/x-openedge

用于 OpenEdge ABL(以前称为 Progress)源代码的词法分析器。

在版本 1.5 中添加。

用于 C/C++ 语言的词法分析器

class pygments.lexers.c_cpp.CLexer
短名称:

c

文件名:

*.c, *.h, *.idc, *.x[bp]m

MIME 类型:

text/x-chdr, text/x-csrc, image/x-xbitmap, image/x-xpixmap

用于带有预处理器指令的 C 源代码。

接受的附加选项

stdlibhighlighting

突出显示在 C/C++ 标准库中找到的常见类型(例如 size_t)。(默认值:True)。

c99highlighting

突出显示在 C99 标准库中找到的常见类型(例如 int8_t)。实际上,这包括所有定宽整数类型。(默认值:True)。

c11highlighting

突出显示在 C11 标准库中找到的原子类型(例如 atomic_bool)。(默认值:True)。

platformhighlighting

突出显示在平台 SDK 头文件中找到的常见类型(例如 Linux 上的 clockid_t)。(默认值:True)。

class pygments.lexers.c_cpp.CppLexer
短名称:

cpp, c++

文件名:

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

MIME 类型:

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

用于带有预处理器指令的 C++ 源代码。

接受的附加选项

stdlibhighlighting

突出显示在 C/C++ 标准库中找到的常见类型(例如 size_t)。(默认值:True)。

c99highlighting

突出显示在 C99 标准库中找到的常见类型(例如 int8_t)。实际上,这包括所有定宽整数类型。(默认值:True)。

c11highlighting

突出显示在 C11 标准库中找到的原子类型(例如 atomic_bool)。(默认值:True)。

platformhighlighting

突出显示在平台 SDK 头文件中找到的常见类型(例如 Linux 上的 clockid_t)。(默认值:True)。

用于其他类 C 语言的词法分析器

class pygments.lexers.c_like.ArduinoLexer
短名称:

arduino

文件名:

*.ino

MIME 类型:

text/x-arduino

用于 Arduino(tm) 源代码。

这是 CppLexer 的扩展,因为 Arduino® 语言是 C++ 的超集。

在 2.1 版本中添加。

class pygments.lexers.c_like.CharmciLexer
短名称:

charmci

文件名:

*.ci

MIME 类型:

用于 Charm++ 接口文件(.ci)。

在 2.4 版本中添加。

class pygments.lexers.c_like.ClayLexer
短名称:

clay

文件名:

*.clay

MIME 类型:

text/x-clay

用于 Clay 源代码。

在 2.0 版本中添加。

class pygments.lexers.c_like.CudaLexer
短名称:

cuda, cu

文件名:

*.cu, *.cuh

MIME 类型:

text/x-cuda

用于 NVIDIA CUDA™ 源代码。

在 1.6 版本中添加。

class pygments.lexers.c_like.ECLexer
短名称:

ec

文件名:

*.ec, *.eh

MIME 类型:

text/x-echdr, text/x-ecsrc

用于包含预处理器指令的 eC 源代码。

在版本 1.5 中添加。

class pygments.lexers.c_like.MqlLexer
短名称:

mql, mq4, mq5, mql4, mql5

文件名:

*.mq4, *.mq5, *.mqh

MIME 类型:

text/x-mql

用于 MQL4MQL5 源代码。

在 2.0 版本中添加。

class pygments.lexers.c_like.NesCLexer
短名称:

nesc

文件名:

*.nc

MIME 类型:

text/x-nescsrc

用于包含预处理器指令的 nesC 源代码。

在 2.0 版本中添加。

class pygments.lexers.c_like.OmgIdlLexer
短名称:

omg-idl

文件名:

*.idl, *.pidl

MIME 类型:

用于对象管理组接口定义语言的词法分析器。

在 2.9 版本中添加。

class pygments.lexers.c_like.PikeLexer
短名称:

pike

文件名:

*.pike, *.pmod

MIME 类型:

text/x-pike

用于 Pike 源代码。

在 2.0 版本中添加。

class pygments.lexers.c_like.PromelaLexer
短名称:

promela

文件名:

*.pml, *.prom, *.prm, *.promela, *.pr, *.pm

MIME 类型:

text/x-promela

用于与 SPIN 一起使用的 Promela 语言。

在版本 2.18 中添加。

class pygments.lexers.c_like.SwigLexer
短名称:

swig

文件名:

*.swg, *.i

MIME 类型:

text/swig

用于 SWIG 源代码。

在 2.0 版本中添加。

class pygments.lexers.c_like.ValaLexer
短名称:

vala, vapi

文件名:

*.vala, *.vapi

MIME 类型:

text/x-vala

用于包含预处理器指令的 Vala 源代码。

在 1.1 版本中添加。

用于 Cap’n Proto 架构语言的词法分析器

class pygments.lexers.capnproto.CapnProtoLexer
短名称:

capnp

文件名:

*.capnp

MIME 类型:

用于 Cap’n Proto 源代码。

在 2.2 版本中添加。

用于 Carbon 编程语言的词法分析器

class pygments.lexers.carbon.CarbonLexer
短名称:

carbon

文件名:

*.carbon

MIME 类型:

text/x-carbon

用于 Carbon 源代码。

在版本 2.15 中添加。

用于简洁数据定义语言 (CDDL) 的词法分析器,一种

class pygments.lexers.cddl.CddlLexer
短名称:

cddl

文件名:

*.cddl

MIME 类型:

text/x-cddl

用于 CDDL 定义的词法分析器。

在 2.8 版本中添加。

用于 Chapel 语言的词法分析器

class pygments.lexers.chapel.ChapelLexer
短名称:

chapel, chpl

文件名:

*.chpl

MIME 类型:

用于 Chapel 源代码。

在 2.0 版本中添加。

用于 Clean 语言的词法分析器

class pygments.lexers.clean.CleanLexer
短名称:

clean

文件名:

*.icl, *.dcl

MIME 类型:

用于通用、最先进、纯净且惰性的函数式编程语言 Clean 的词法分析器。

用于 COMAL-80 的词法分析器

class pygments.lexers.comal.Comal80Lexer
短名称:

comal, comal80

文件名:

*.cml, *.comal

MIME 类型:

用于 COMAL-80 源代码。

用于配置文件格式的词法分析器

class pygments.lexers.configs.ApacheConfLexer
短名称:

apacheconf, aconf, apache

文件名:

.htaccess, apache.conf, apache2.conf

MIME 类型:

text/x-apacheconf

用于遵循 Apache 配置文件格式的配置文件的词法分析器。

在版本 0.6 中添加。

class pygments.lexers.configs.AugeasLexer
短名称:

augeas

文件名:

*.aug

MIME 类型:

用于 Augeas 的词法分析器。

在 2.4 版本中添加。

class pygments.lexers.configs.Cfengine3Lexer
短名称:

cfengine3, cf3

文件名:

*.cf

MIME 类型:

用于 CFEngine3 策略文件的词法分析器。

在版本 1.5 中添加。

class pygments.lexers.configs.DesktopLexer
短名称:

desktop

文件名:

*.desktop

MIME 类型:

application/x-desktop

用于 .desktop 文件的词法分析器。

在版本 2.16 中添加。

class pygments.lexers.configs.DockerLexer
短名称:

docker, dockerfile

文件名:

Dockerfile, *.docker

MIME 类型:

text/x-dockerfile-config

用于 Docker 配置文件的词法分析器。

在 2.0 版本中添加。

class pygments.lexers.configs.IniLexer
短名称:

ini, cfg, dosini

文件名:

*.ini, *.cfg, *.inf, .editorconfig

MIME 类型:

text/x-ini, text/inf

用于 INI 风格配置文件的词法分析器。

class pygments.lexers.configs.KconfigLexer
短名称:

kconfig, menuconfig, linux-config, kernel-config

文件名:

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

MIME 类型:

text/x-kconfig

用于 Linux 风格的 Kconfig 文件。

在 1.6 版本中添加。

class pygments.lexers.configs.LighttpdConfLexer
短名称:

lighttpd, lighty

文件名:

lighttpd.conf

MIME 类型:

text/x-lighttpd-conf

用于 Lighttpd 配置文件的词法分析器。

在版本 0.11 中添加。

class pygments.lexers.configs.NestedTextLexer
短名称:

nestedtext, nt

文件名:

*.nt

MIME 类型:

用于 NextedText 的词法分析器,这是一种人性化的数据格式。

在版本 2.16 中更改: 添加了对 NextedText v3.0 的支持。

在 2.9 版本中添加。

class pygments.lexers.configs.NginxConfLexer
短名称:

nginx

文件名:

nginx.conf

MIME 类型:

text/x-nginx-conf

用于 Nginx 配置文件的词法分析器。

在版本 0.11 中添加。

class pygments.lexers.configs.PacmanConfLexer
短名称:

pacmanconf

文件名:

pacman.conf

MIME 类型:

用于 pacman.conf 的词法分析器。

实际上,IniLexer 几乎可以很好地处理此格式,但会产生错误令牌。这是因为 pacman.conf 具有没有赋值的形式,例如

UseSyslog Color TotalDownload CheckSpace VerbosePkgLists

这些是用于开启的标志。

在 2.1 版本中添加。

class pygments.lexers.configs.PkgConfigLexer
短名称:

pkgconfig

文件名:

*.pc

MIME 类型:

用于 pkg-config 的词法分析器(另请参见 手册页)。

在 2.1 版本中添加。

class pygments.lexers.configs.PropertiesLexer
短名称:

properties, jproperties

文件名:

*.properties

MIME 类型:

text/x-java-properties

Java 属性格式配置文件的词法分析器。

注意:尾随空格作为值的一部分,符合规范。

在版本 1.4 中添加。

class pygments.lexers.configs.RegeditLexer
短名称:

registry

文件名:

*.reg

MIME 类型:

text/x-windows-registry

由 regedit 生成的 Windows 注册表文件的词法分析器。

在 1.6 版本中添加。

class pygments.lexers.configs.SingularityLexer
短名称:

singularity

文件名:

*.def, Singularity

MIME 类型:

Singularity 定义文件的词法分析器。

在 2.6 版本中添加。

class pygments.lexers.configs.SquidConfLexer
短名称:

squidconf, squid.conf, squid

文件名:

squid.conf

MIME 类型:

text/x-squidconf

Squid 配置文件的词法分析器。

在版本 0.9 中添加。

class pygments.lexers.configs.SystemdLexer
短名称:

systemd

文件名:

*.service, *.socket, *.device, *.mount, *.automount, *.swap, *.target, *.path, *.timer, *.slice, *.scope

MIME 类型:

systemd 单元文件的词法分析器。

在版本 2.16 中添加。

class pygments.lexers.configs.TOMLLexer
短名称:

toml

文件名:

*.toml, Pipfile, poetry.lock

MIME 类型:

application/toml

TOML 的词法分析器,TOML 是一种简单的配置文件语言。

在 2.4 版本中添加。

class pygments.lexers.configs.TermcapLexer
短名称:

termcap

文件名:

termcap, termcap.src

MIME 类型:

termcap 数据库源代码的词法分析器。

这非常简单和简陋。

在 2.1 版本中添加。

class pygments.lexers.configs.TerminfoLexer
短名称:

terminfo

文件名:

terminfo, terminfo.src

MIME 类型:

terminfo 数据库源代码的词法分析器。

这非常简单和简陋。

在 2.1 版本中添加。

class pygments.lexers.configs.TerraformLexer
短名称:

terraform, tf, hcl

文件名:

*.tf, *.hcl

MIME 类型:

application/x-tf, application/x-terraform

terraformi .tf 文件的词法分析器。

在 2.1 版本中添加。

class pygments.lexers.configs.UnixConfigLexer
短名称:

unixconfig, linuxconfig

文件名:

MIME 类型:

使用冒号分隔值的 Unix/Linux 配置文件的词法分析器,例如:

  • /etc/group

  • /etc/passwd

  • /etc/shadow

在版本 2.12 中添加。

各种控制台输出的词法分析器

class pygments.lexers.console.PyPyLogLexer
短名称:

pypylog, pypy

文件名:

*.pypylog

MIME 类型:

application/x-pypylog

PyPy 日志文件的词法分析器。

在版本 1.5 中添加。

class pygments.lexers.console.VCTreeStatusLexer
短名称:

vctreestatus

文件名:

MIME 类型:

用于对版本控制状态命令的输出进行着色,例如“hg status”或“svn status”。

在 2.0 版本中添加。

cplint 语言的词法分析器

class pygments.lexers.cplint.CplintLexer
短名称:

cplint

文件名:

*.ecl, *.prolog, *.pro, *.pl, *.P, *.lpad, *.cpl

MIME 类型:

text/x-cplint

cplint 文件的词法分析器,包括 CP 逻辑、带注释析取的逻辑程序、分布式子句语法、ProbLog、DTProbLog。

在版本 2.12 中添加。

Crystal 的词法分析器

class pygments.lexers.crystal.CrystalLexer
短名称:

cr, crystal

文件名:

*.cr

MIME 类型:

text/x-crystal

用于 Crystal 源代码。

在 2.2 版本中添加。

Csound 语言的词法分析器

class pygments.lexers.csound.CsoundDocumentLexer
短名称:

csound-document, csound-csd

文件名:

*.csd

MIME 类型:

用于 Csound 文档。

在 2.1 版本中添加。

class pygments.lexers.csound.CsoundOrchestraLexer
短名称:

csound, csound-orc

文件名:

*.orc, *.udo

MIME 类型:

用于 Csound 乐队。

在 2.1 版本中添加。

class pygments.lexers.csound.CsoundScoreLexer
短名称:

csound-score, csound-sco

文件名:

*.sco

MIME 类型:

用于 Csound 分数。

在 2.1 版本中添加。

D 语言的词法分析器

class pygments.lexers.d.CrocLexer
短名称:

croc

文件名:

*.croc

MIME 类型:

text/x-crocsrc

用于 Croc 源代码。

class pygments.lexers.d.DLexer
短名称:

d

文件名:

*.d, *.di

MIME 类型:

text/x-dsrc

用于 D 源代码。

在版本 1.2 中添加。

class pygments.lexers.d.MiniDLexer
短名称:

minid

文件名:

MIME 类型:

text/x-minidsrc

用于 MiniD 源代码。MiniD 现在被称为 Croc。

数据文件格式的词法分析器

class pygments.lexers.data.JsonBareObjectLexer
短名称:

文件名:

MIME 类型:

用于 JSON 数据结构(缺少对象大括号)。

自版本 2.8.0 起弃用:现在与 JsonLexer 行为相同。

在 2.2 版本中添加。

class pygments.lexers.data.JsonLdLexer
短名称:

jsonld, json-ld

文件名:

*.jsonld

MIME 类型:

application/ld+json

用于 JSON-LD 链接数据。

在 2.0 版本中添加。

class pygments.lexers.data.JsonLexer
短名称:

json, json-object

文件名:

*.json, *.jsonl, *.ndjson, Pipfile.lock

MIME 类型:

application/json, application/json-object, application/x-ndjson, application/jsonl, application/json-seq

用于 JSON 数据结构。

支持 Javascript 风格的注释(如 /* *///),尽管注释不是 JSON 规范的一部分。这允许用户突出显示 JSON 在野外的使用方式。

不对输入的 JSON 文档进行验证。

在版本 1.5 中添加。

class pygments.lexers.data.YamlLexer
短名称:

yaml

文件名:

*.yaml, *.yml

MIME 类型:

text/x-yaml

用于 YAML 的词法分析器,YAML 是一种对人类友好的数据序列化语言。

在版本 0.11 中添加。

LilyPond 的词法分析器

class pygments.lexers.dax.DaxLexer
短名称:

dax

文件名:

*.dax

MIME 类型:

Power BI DAX 的词法分析器,参考自:https://github.com/sql-bi/SyntaxHighlighterBrushDax

在版本 2.15 中添加。

设备树语言的词法分析器

class pygments.lexers.devicetree.DevicetreeLexer
短名称:

devicetree, dts

文件名:

*.dts, *.dtsi

MIME 类型:

text/x-c

设备树文件的词法分析器。

在 2.7 版本中添加。

diff/patch 格式的词法分析器

class pygments.lexers.diff.DarcsPatchLexer
短名称:

dpatch

文件名:

*.dpatch, *.darcspatch

MIME 类型:

DarcsPatchLexer 是针对 darcs patch 格式各种版本的词法分析器。这种格式的示例可以通过 darcs annotate --patchdarcs send 等命令获得。

在版本 0.10 中添加。

class pygments.lexers.diff.DiffLexer
短名称:

diff, udiff

文件名:

*.diff, *.patch

MIME 类型:

text/x-diff, text/x-patch

针对统一或上下文样式的 diff 或补丁的词法分析器。

class pygments.lexers.diff.WDiffLexer
短名称:

wdiff

文件名:

*.wdiff

MIME 类型:

wdiff 词法分析器。

注意

  • 它只适用于正常输出(没有像 -l 这样的选项)。

  • 如果目标文件包含 “[-”, “-]”, “{+”, 或 “+}”,特别是它们不平衡,词法分析器会感到困惑。

在 2.2 版本中添加。

针对 DNS 的 Pygments 词法分析器

class pygments.lexers.dns.DnsZoneLexer
短名称:

zone

文件名:

*.zone

MIME 类型:

text/dns

针对 DNS 区域文件的词法分析器

在版本 2.16 中添加。

针对 .net 语言的词法分析器

class pygments.lexers.dotnet.BooLexer
短名称:

boo

文件名:

*.boo

MIME 类型:

text/x-boo

用于 Boo 源代码。

class pygments.lexers.dotnet.CSharpAspxLexer
短名称:

aspx-cs

文件名:

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

MIME 类型:

用于突出显示 ASP.NET 页面中的 C# 的词法分析器。

class pygments.lexers.dotnet.CSharpLexer
短名称:

csharp, c#, cs

文件名:

*.cs

MIME 类型:

text/x-csharp

用于 C# 源代码。

接受的附加选项

unicodelevel

确定此词法分析器允许的 Unicode 字符标识符。可能的取值是

  • none – 仅允许 ASCII 字母和数字。这是最快的选择。

  • basic – 允许所有 Unicode 字符(来自规范),但 Lo 类别除外。

  • full – 允许所有 Unicode 字符(如 C# 规范中所指定)。请注意,这意味着速度会显著下降,因为 Lo 类别包含 40,000 多个字符!

默认值为 basic

在 0.8 版本中添加。

class pygments.lexers.dotnet.FSharpLexer
短名称:

fsharp, f#

文件名:

*.fs, *.fsi, *.fsx

MIME 类型:

text/x-fsharp

用于 F# 语言(版本 3.0)。

在版本 1.5 中添加。

class pygments.lexers.dotnet.NemerleLexer
短名称:

nemerle

文件名:

*.n

MIME 类型:

text/x-nemerle

用于 Nemerle 源代码。

接受的附加选项

unicodelevel

确定此词法分析器允许的 Unicode 字符标识符。可能的取值是

  • none – 仅允许 ASCII 字母和数字。这是最快的选择。

  • basic – 允许所有 Unicode 字符(来自规范),但 Lo 类别除外。

  • full – 允许所有 Unicode 字符(如 C# 规范中所指定)。请注意,这意味着速度会显著下降,因为 Lo 类别包含 40,000 多个字符!

默认值为 basic

在版本 1.5 中添加。

class pygments.lexers.dotnet.VbNetAspxLexer
短名称:

aspx-vb

文件名:

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

MIME 类型:

用于突出显示 ASP.NET 页面中的 Visual Basic.net 的词法分析器。

class pygments.lexers.dotnet.VbNetLexer
短名称:

vb.net, vbnet, lobas, oobas, sobas, visual-basic, visualbasic

文件名:

*.vb, *.bas

MIME 类型:

text/x-vbnet, text/x-vba

用于 Visual Basic.NET 源代码。也适用于 LibreOffice Basic、OpenOffice Basic 和 StarOffice Basic。

class pygments.lexers.dotnet.XppLexer
短名称:

xpp, x++

文件名:

*.xpp

MIME 类型:

用于 X++ 源代码。它基于 CSharpLexer,但略有改动。

在版本 2.15 中添加。

针对各种特定领域语言的词法分析器

class pygments.lexers.dsls.AlloyLexer
短名称:

alloy

文件名:

*.als

MIME 类型:

text/x-alloy

用于 Alloy 源代码。

在 2.0 版本中添加。

class pygments.lexers.dsls.CrmshLexer
短名称:

crmsh, pcmk

文件名:

*.crmsh, *.pcmk

MIME 类型:

针对 Pacemaker 集群的 crmsh 配置文件的词法分析器。

在 2.1 版本中添加。

class pygments.lexers.dsls.FlatlineLexer
短名称:

flatline

文件名:

MIME 类型:

text/x-flatline

针对 Flatline 表达式的词法分析器。

在 2.2 版本中添加。

class pygments.lexers.dsls.MscgenLexer
短名称:

mscgen, msc

文件名:

*.msc

MIME 类型:

用于 Mscgen 文件。

在 1.6 版本中添加。

class pygments.lexers.dsls.PanLexer
短名称:

pan

文件名:

*.pan

MIME 类型:

针对 pan 源文件的词法分析器。

基于 tcsh 词法分析器。

在 2.0 版本中添加。

class pygments.lexers.dsls.ProtoBufLexer
短名称:

protobuf, proto

文件名:

*.proto

MIME 类型:

针对 Protocol Buffer 定义文件的词法分析器。

在版本 1.4 中添加。

class pygments.lexers.dsls.PuppetLexer
短名称:

puppet

文件名:

*.pp

MIME 类型:

用于 Puppet 配置 DSL。

在 1.6 版本中添加。

class pygments.lexers.dsls.RslLexer
短名称:

rsl

文件名:

*.rsl

MIME 类型:

text/rsl

RSL 是 RAISE(Rigorous Approach to Industrial Software Engineering)方法中使用的正式规范语言。

在 2.0 版本中添加。

class pygments.lexers.dsls.SnowballLexer
短名称:

snowball

文件名:

*.sbl

MIME 类型:

针对 Snowball 源代码的词法分析器。

在 2.2 版本中添加。

class pygments.lexers.dsls.ThriftLexer
短名称:

thrift

文件名:

*.thrift

MIME 类型:

application/x-thrift

用于 Thrift 接口定义。

在 2.1 版本中添加。

class pygments.lexers.dsls.VGLLexer
短名称:

vgl

文件名:

*.rpf

MIME 类型:

用于 SampleManager VGL 源代码。

在 1.6 版本中添加。

class pygments.lexers.dsls.ZeekLexer
短名称:

zeek, bro

文件名:

*.zeek, *.bro

MIME 类型:

用于 Zeek 脚本。

在版本 2.5 中添加。

针对 Dylan 语言的词法分析器

class pygments.lexers.dylan.DylanConsoleLexer
短名称:

dylan-console, dylan-repl

文件名:

*.dylan-console

MIME 类型:

text/x-dylan-console

用于 Dylan 交互式控制台输出。

它基于 RubyConsoleLexer 的副本。

例子

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

在 1.6 版本中添加。

class pygments.lexers.dylan.DylanLexer
短名称:

dylan

文件名:

*.dylan, *.dyl, *.intr

MIME 类型:

text/x-dylan

用于 Dylan 语言。

在版本 0.7 中添加。

class pygments.lexers.dylan.DylanLidLexer
短名称:

dylan-lid, lid

文件名:

*.lid, *.hdp

MIME 类型:

text/x-dylan-lid

用于 Dylan LID(库交换定义)文件。

在 1.6 版本中添加。

ECL 语言词法分析器

class pygments.lexers.ecl.ECLLexer
短名称:

ecl

文件名:

*.ecl

MIME 类型:

application/x-ecl

用于声明式大数据 ECL 语言的词法分析器。

在版本 1.5 中添加。

Eiffel 语言词法分析器

class pygments.lexers.eiffel.EiffelLexer
短名称:

eiffel

文件名:

*.e

MIME 类型:

text/x-eiffel

用于 Eiffel 源代码。

在 2.0 版本中添加。

Elm 编程语言词法分析器

class pygments.lexers.elm.ElmLexer
短名称:

elm

文件名:

*.elm

MIME 类型:

text/x-elm

用于 Elm 源代码。

在 2.1 版本中添加。

用于 Elpi 编程语言的词法分析器

class pygments.lexers.elpi.ElpiLexer
短名称:

elpi

文件名:

*.elpi

MIME 类型:

text/x-elpi

用于 Elpi 编程语言的词法分析器。

在版本 2.11 中添加。

用于原始电子邮件的词法分析器

class pygments.lexers.email.EmailLexer
短名称:

email, eml

文件名:

*.eml

MIME 类型:

message/rfc822

用于原始电子邮件的词法分析器。

接受的附加选项

highlight-X-header

突出显示 X- 用户定义的电子邮件报头字段。(默认值:False)。

在版本 2.5 中添加。

Erlang 词法分析器

class pygments.lexers.erlang.ElixirConsoleLexer
短名称:

iex

文件名:

MIME 类型:

text/x-elixir-shellsession

用于 Elixir 交互式控制台 (iex) 输出,例如

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

在版本 1.5 中添加。

class pygments.lexers.erlang.ElixirLexer
短名称:

elixir, ex, exs

文件名:

*.ex, *.eex, *.exs, *.leex

MIME 类型:

text/x-elixir

用于 Elixir 语言。

在版本 1.5 中添加。

class pygments.lexers.erlang.ErlangLexer
短名称:

erlang

文件名:

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

MIME 类型:

text/x-erlang

用于 Erlang 函数式编程语言。

在版本 0.9 中添加。

class pygments.lexers.erlang.ErlangShellLexer
短名称:

erl

文件名:

*.erl-sh

MIME 类型:

text/x-erl-shellsession

erl 中的 Shell 会话(用于 Erlang 代码)。

在 1.1 版本中添加。

深奥语言词法分析器

class pygments.lexers.esoteric.AheuiLexer
短名称:

aheui

文件名:

*.aheui

MIME 类型:

Aheui 是一种基于韩语字母的深奥语言。

class pygments.lexers.esoteric.BefungeLexer
短名称:

befunge

文件名:

*.befunge

MIME 类型:

application/x-befunge

用于深奥的 Befunge 语言的词法分析器。

在版本 0.7 中添加。

class pygments.lexers.esoteric.BrainfuckLexer
短名称:

brainfuck, bf

文件名:

*.bf, *.b

MIME 类型:

application/x-brainfuck

用于深奥的 BrainFuck 语言的词法分析器。

class pygments.lexers.esoteric.CAmkESLexer
短名称:

camkes, idl4

文件名:

*.camkes, *.idl4

MIME 类型:

用于 CAmkES 组件平台输入语言的基本词法分析器。

在 2.1 版本中添加。

class pygments.lexers.esoteric.CapDLLexer
短名称:

capdl

文件名:

*.cdl

MIME 类型:

用于 CapDL 的基本词法分析器。

读取此类规范的主要工具的源代码位于 https://github.com/seL4/capdl/tree/master/capDL-tool。请注意,此词法分析器仅支持语法的一个子集。例如,标识符可以隐藏类型名称,但这些实例目前被错误地突出显示为类型。支持这一点需要一个状态词法分析器,目前认为过于复杂。

在 2.2 版本中添加。

class pygments.lexers.esoteric.RedcodeLexer
短名称:

redcode

文件名:

*.cw

MIME 类型:

基于 ICWS'94 的简单 Redcode 词法分析器。由 Adam Blinkinsop 提供 <blinks@acm.org>。

在 0.8 版本中添加。

用于 Ezhil 语言的 Pygments 词法分析器

class pygments.lexers.ezhil.EzhilLexer
短名称:

ezhil

文件名:

*.n

MIME 类型:

text/x-ezhil

用于 Ezhil 的词法分析器,Ezhil 是一种基于泰米尔语脚本的编程语言。

在 2.1 版本中添加。

用于 Factor 语言的词法分析器

class pygments.lexers.factor.FactorLexer
短名称:

factor

文件名:

*.factor

MIME 类型:

text/x-factor

用于 Factor 语言的词法分析器。

在版本 1.4 中添加。

用于 Fantom 语言的词法分析器

class pygments.lexers.fantom.FantomLexer
短名称:

fan

文件名:

*.fan

MIME 类型:

application/x-fantom

用于 Fantom 源代码。

在版本 1.5 中添加。

用于 Felix 语言的词法分析器

class pygments.lexers.felix.FelixLexer
短名称:

felix, flx

文件名:

*.flx, *.flxh

MIME 类型:

text/x-felix

用于 Felix 源代码。

在版本 1.2 中添加。

用于 fift 的词法分析器

class pygments.lexers.fift.FiftLexer
短名称:

fift, fif

文件名:

*.fif

MIME 类型:

用于 Fift 源代码。

用于 FloScript 的词法分析器

class pygments.lexers.floscript.FloScriptLexer
短名称:

floscript, flo

文件名:

*.flo

MIME 类型:

用于 FloScript 配置语言源代码。

在 2.4 版本中添加。

用于 Forth 语言的词法分析器

class pygments.lexers.forth.ForthLexer
短名称:

forth

文件名:

*.frt, *.fs

MIME 类型:

application/x-forth

用于 Forth 文件的词法分析器。

在 2.2 版本中添加。

Fortran 语言词法分析器

class pygments.lexers.fortran.FortranFixedLexer
短名称:

fortranfixed

文件名:

*.f, *.F

MIME 类型:

用于固定格式 Fortran 的词法分析器。

在 2.1 版本中添加。

class pygments.lexers.fortran.FortranLexer
短名称:

fortran, f90

文件名:

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

MIME 类型:

text/x-fortran

用于 FORTRAN 90 代码的词法分析器。

在版本 0.10 中添加。

用于 Microsoft Visual FoxPro 源代码的简单词法分析器

class pygments.lexers.foxpro.FoxProLexer
短名称:

foxpro, vfp, clipper, xbase

文件名:

*.PRG, *.prg

MIME 类型:

用于 Microsoft Visual FoxPro 语言的词法分析器。

FoxPro 语法允许将所有关键字和函数名称缩短为 4 个字符。此词法分析器无法识别缩短形式。

在 1.6 版本中添加。

用于 FreeFem++ 语言的词法分析器

class pygments.lexers.freefem.FreeFemLexer
短名称:

freefem

文件名:

*.edp

MIME 类型:

text/x-freefem

用于 FreeFem++ 源代码。

这是 CppLexer 的扩展,因为 FreeFem 语言是 C++ 的超集。

在 2.4 版本中添加。

FunC 的词法分析器

class pygments.lexers.func.FuncLexer
短名称:

func, fc

文件名:

*.fc, *.func

MIME 类型:

用于 FunC 源代码。

Futhark 语言的词法分析器

class pygments.lexers.futhark.FutharkLexer
短名称:

futhark

文件名:

*.fut

MIME 类型:

text/x-futhark

Futhark 词法分析器

在 2.8 版本中添加。

G 代码语言的词法分析器

class pygments.lexers.gcodelexer.GcodeLexer
短名称:

gcode

文件名:

*.gcode

MIME 类型:

用于 gcode 源代码。

在 2.9 版本中添加。

GDScript 的词法分析器

class pygments.lexers.gdscript.GDScriptLexer
短名称:

gdscript, gd

文件名:

*.gd

MIME 类型:

text/x-gdscript, application/x-gdscript

用于 GDScript 源代码。

Gleam 编程语言的词法分析器

class pygments.lexers.gleam.GleamLexer
短名称:

gleam

文件名:

*.gleam

MIME 类型:

text/x-gleam

Gleam 编程语言的词法分析器 (版本 1.0.0)。

在版本 2.18 中添加。

Google Go 语言的词法分析器

class pygments.lexers.go.GoLexer
短名称:

go, golang

文件名:

*.go

MIME 类型:

text/x-gosrc

用于 Go 源代码。

在版本 1.2 中添加。

BNF 等语法表示法的词法分析器

class pygments.lexers.grammar_notation.AbnfLexer
短名称:

abnf

文件名:

*.abnf

MIME 类型:

text/x-abnf

IETF 7405 ABNF 的词法分析器。

(更新 5234) 语法。

在 2.1 版本中添加。

class pygments.lexers.grammar_notation.BnfLexer
短名称:

bnf

文件名:

*.bnf

MIME 类型:

text/x-bnf

此词法分析器适用于类似于原始 BNF 的语法表示法。

为了最大限度地提高此词法分析器的目标数量,让我们决定一些设计

  • 我们不区分 终结符

  • 我们假设 非终结符 始终用尖括号括起来。

  • 我们假设 非终结符 可能包含除尖括号和 ASCII 0x20 之外的任何可打印字符。 此假设适用于 RBNF

  • 我们假设目标表示法不支持注释。

  • 我们不区分任何运算符和标点符号,除了 ::=

虽然这些决策可能会导致高亮显示过于简陋,您可能会感到失望,但对我们来说是合理的。

在 2.1 版本中添加。

class pygments.lexers.grammar_notation.JsgfLexer
短名称:

jsgf

文件名:

*.jsgf

MIME 类型:

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

用于 JSpeech 语法格式语法。

在 2.2 版本中添加。

class pygments.lexers.grammar_notation.PegLexer
短名称:

peg

文件名:

*.peg

MIME 类型:

text/x-peg

此词法分析器适用于解析表达式语法 (PEG)。

PEG 的各种实现对语法做出了不同的决定,因此让我们尝试容纳

  • <-, , :, 和 = 都被接受为规则运算符。

  • |/ 都是选择运算符。

  • ^, , 和 ~ 是切割运算符。

  • 在字符串之前出现的单个 a-z 字符,或者在字符串之后出现的多个 a-z 字符,都是字符串的一部分(例如,r”…”“…”ilmsuxa)。

在 2.6 版本中添加。

图查询语言的词法分析器

class pygments.lexers.graph.CypherLexer
短名称:

cypher

文件名:

*.cyp, *.cypher

MIME 类型:

用于 Cypher 查询语言

用于 Neo4j 3.3 中的 Cypher 版本

在 2.0 版本中添加。

GraphQL 的词法分析器,一种开源数据查询和操作语言

class pygments.lexers.graphql.GraphQLLexer
短名称:

graphql

文件名:

*.graphql

MIME 类型:

用于 GraphQL 语法的词法分析器

在版本 2.16 中添加。

DOT 语言 (graphviz) 的词法分析器

class pygments.lexers.graphviz.GraphvizLexer
短名称:

graphviz, dot

文件名:

*.gv, *.dot

MIME 类型:

text/x-graphviz, text/vnd.graphviz

用于 graphviz DOT 图描述语言。

在 2.8 版本中添加。

TigerGraph GSQL 图查询语言的词法分析器

class pygments.lexers.gsql.GSQLLexer
短名称:

gsql

文件名:

*.gsql

MIME 类型:

用于 GSQL 查询 (版本 3.x)。

在 2.10 版本中添加。

硬件描述语言的词法分析器

class pygments.lexers.hdl.SystemVerilogLexer
短名称:

systemverilog, sv

文件名:

*.sv, *.svh

MIME 类型:

text/x-systemverilog

扩展 Verilog 词法分析器,以识别 IEEE 1800-2009 标准中的所有 SystemVerilog 关键字。

在版本 1.5 中添加。

class pygments.lexers.hdl.VerilogLexer
短名称:

verilog, v

文件名:

*.v

MIME 类型:

text/x-verilog

用于包含预处理器指令的 Verilog 源代码。

在版本 1.4 中添加。

class pygments.lexers.hdl.VhdlLexer
短名称:

vhdl

文件名:

*.vhdl, *.vhd

MIME 类型:

text/x-vhdl

用于 VHDL 源代码。

在版本 1.5 中添加。

十六进制转储的词法分析器

class pygments.lexers.hexdump.HexdumpLexer
短名称:

hexdump

文件名:

MIME 类型:

用于 UNIX 和 GNU/Linux 工具 hexdumphdhexcatodxxd 以及 DOS 工具 DEBUG 生成的典型十六进制转储输出格式。例如

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@.....|

支持的具体格式是以下工具的输出:

  • hexdump FILE

  • hexdump -C FILE – 示例中使用的“规范”格式。

  • hd FILE – 与 hexdump -C FILE 相同。

  • hexcat FILE

  • od -t x1z FILE

  • xxd FILE

  • DEBUG.EXE FILE.COM 并输入 d 到提示符。

在 2.1 版本中添加。

用于 IDL 的词法分析器

class pygments.lexers.idl.IDLLexer
短名称:

idl

文件名:

*.pro

MIME 类型:

text/idl

用于 IDL(交互式数据语言)的 Pygments 词法分析器。

在 1.6 版本中添加。

用于 Igor Pro 的词法分析器

class pygments.lexers.igor.IgorLexer
短名称:

igor, igorpro

文件名:

*.ipf

MIME 类型:

text/ipf

用于 Igor Pro 过程文件(.ipf)的 Pygments 词法分析器。

在 2.0 版本中添加。

用于安装程序/打包程序 DSL 和格式的词法分析器

class pygments.lexers.installers.DebianControlLexer
短名称:

debcontrol, control

文件名:

control

MIME 类型:

用于 Debian control 文件和 apt-cache show <pkg> 输出的词法分析器。

在版本 0.9 中添加。

class pygments.lexers.installers.DebianSourcesLexer
短名称:

debian.sources

文件名:

*.sources

MIME 类型:

用于突出显示 debian.sources 文件的词法分析器。

在版本 2.19 中添加。

class pygments.lexers.installers.NSISLexer
短名称:

nsis, nsi, nsh

文件名:

*.nsi, *.nsh

MIME 类型:

text/x-nsis

用于 NSIS 脚本。

在 1.6 版本中添加。

class pygments.lexers.installers.RPMSpecLexer
短名称:

spec

文件名:

*.spec

MIME 类型:

text/x-rpm-spec

用于 RPM .spec 文件。

在 1.6 版本中添加。

class pygments.lexers.installers.SourcesListLexer
短名称:

debsources, sourceslist, sources.list

文件名:

sources.list

MIME 类型:

用于突出显示 debian sources.list 文件的词法分析器。

在版本 0.7 中添加。

交互式小说语言的词法分析器

class pygments.lexers.int_fiction.Inform6Lexer
短名称:

inform6, i6

文件名:

*.inf

MIME 类型:

用于 Inform 6 源代码。

在 2.0 版本中添加。

class pygments.lexers.int_fiction.Inform6TemplateLexer
短名称:

i6t

文件名:

*.i6t

MIME 类型:

用于 Inform 6 模板代码。

在 2.0 版本中添加。

class pygments.lexers.int_fiction.Inform7Lexer
短名称:

inform7, i7

文件名:

*.ni, *.i7x

MIME 类型:

用于 Inform 7 源代码。

在 2.0 版本中添加。

class pygments.lexers.int_fiction.Tads3Lexer
短名称:

tads3

文件名:

*.t

MIME 类型:

用于 TADS 3 源代码。

Io 语言的词法分析器

class pygments.lexers.iolang.IoLexer
短名称:

io

文件名:

*.io

MIME 类型:

text/x-iosrc

用于 Io(一种小型原型编程语言)源代码。

在版本 0.10 中添加。

J 编程语言的词法分析器

class pygments.lexers.j.JLexer
短名称:

j

文件名:

*.ijs

MIME 类型:

text/x-j

用于 J 源代码。

在 2.1 版本中添加。

JMESPath 语言的词法分析器

class pygments.lexers.jmespath.JMESPathLexer
短名称:

jmespath, jp

文件名:

*.jp

MIME 类型:

用于 JMESPath 查询。

JSLT 语言的词法分析器

class pygments.lexers.jslt.JSLTLexer
短名称:

jslt

文件名:

*.jslt

MIME 类型:

text/x-jslt

用于 JSLT 源代码。

在 2.10 版本中添加。

Json5 文件格式的词法分析器

class pygments.lexers.json5.Json5Lexer
短名称:

json5

文件名:

*.json5

MIME 类型:

用于 JSON5 数据结构的词法分析器。

在版本 2.19 中添加。

Jsonnet 数据模板语言的词法分析器

class pygments.lexers.jsonnet.JsonnetLexer
短名称:

jsonnet

文件名:

*.jsonnet, *.libsonnet

MIME 类型:

用于 Jsonnet 源代码的词法分析器。

JSX (React) 和 TSX (TypeScript 版本) 的词法分析器

class pygments.lexers.jsx.JsxLexer
短名称:

jsx, react

文件名:

*.jsx, *.react

MIME 类型:

text/jsx, text/typescript-jsx

用于 JavaScript 语法扩展 (JSX)。

在 2.17 版本中添加。

class pygments.lexers.jsx.TsxLexer
短名称:

tsx

文件名:

*.tsx

MIME 类型:

text/typescript-tsx

用于带有嵌入式 JSX 的 TypeScript。

在版本 2.19 中添加。

Julia 语言的词法分析器

class pygments.lexers.julia.JuliaConsoleLexer
短名称:

jlcon, julia-repl

文件名:

MIME 类型:

用于 Julia 控制台会话。仿照 MatlabSessionLexer。

例子

julia> x = 2
2

julia> \"\"\"
        The factorial function.

        ```julia
        @assert fac(3) == 1 * 2 * 3
        ```
        \"\"\"
        function fac(n)
            if n < 2
                return 1
            else
                return n * fac(n - 1) # <-- recursive call
            end
        end


        # Lets try the function out...
        f(x + 1)
6

在 1.6 版本中添加。

class pygments.lexers.julia.JuliaLexer
短名称:

julia, jl

文件名:

*.jl

MIME 类型:

text/x-julia, application/x-julia

用于 Julia 源代码。

在 1.6 版本中添加。

Pygments JVM 语言的词法分析器

class pygments.lexers.jvm.AspectJLexer
短名称:

aspectj

文件名:

*.aj

MIME 类型:

text/x-aspectj

用于 AspectJ 源代码。

在 1.6 版本中添加。

class pygments.lexers.jvm.CeylonLexer
短名称:

ceylon

文件名:

*.ceylon

MIME 类型:

text/x-ceylon

用于 Ceylon 源代码。

在 1.6 版本中添加。

class pygments.lexers.jvm.ClojureLexer
短名称:

clojure, clj

文件名:

*.clj, *.cljc

MIME 类型:

text/x-clojure, application/x-clojure

用于 Clojure 源代码的词法分析器。

在版本 0.11 中添加。

class pygments.lexers.jvm.ClojureScriptLexer
短名称:

clojurescript, cljs

文件名:

*.cljs

MIME 类型:

text/x-clojurescript, application/x-clojurescript

用于 ClojureScript 源代码的词法分析器。

在 2.0 版本中添加。

class pygments.lexers.jvm.GoloLexer
短名称:

golo

文件名:

*.golo

MIME 类型:

用于 Golo 源代码。

在 2.0 版本中添加。

class pygments.lexers.jvm.GosuLexer
短名称:

gosu

文件名:

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

MIME 类型:

text/x-gosu

用于 Gosu 源代码。

在版本 1.5 中添加。

class pygments.lexers.jvm.GosuTemplateLexer
短名称:

gst

文件名:

*.gst

MIME 类型:

text/x-gosu-template

用于 Gosu 模板。

在版本 1.5 中添加。

class pygments.lexers.jvm.GroovyLexer
短名称:

groovy

文件名:

*.groovy, *.gradle

MIME 类型:

text/x-groovy

用于 Groovy 源代码。

在版本 1.5 中添加。

class pygments.lexers.jvm.IokeLexer
短名称:

ioke, ik

文件名:

*.ik

MIME 类型:

text/x-iokesrc

用于 Ioke(一种强类型、动态、基于原型的编程语言)源代码。

在版本 1.4 中添加。

class pygments.lexers.jvm.JasminLexer
短名称:

jasmin, jasminxt

文件名:

*.j

MIME 类型:

用于 Jasmin 汇编代码。

在 2.0 版本中添加。

class pygments.lexers.jvm.JavaLexer
短名称:

java

文件名:

*.java

MIME 类型:

text/x-java

用于 Java 源代码。

class pygments.lexers.jvm.KotlinLexer
短名称:

kotlin

文件名:

*.kt, *.kts

MIME 类型:

text/x-kotlin

用于 Kotlin 源代码。

在版本 1.5 中添加。

class pygments.lexers.jvm.PigLexer
短名称:

pig

文件名:

*.pig

MIME 类型:

text/x-pig

用于 Pig Latin 源代码。

在 2.0 版本中添加。

class pygments.lexers.jvm.SarlLexer
短名称:

sarl

文件名:

*.sarl

MIME 类型:

text/x-sarl

用于 SARL 源代码。

在 2.4 版本中添加。

class pygments.lexers.jvm.ScalaLexer
短名称:

scala

文件名:

*.scala

MIME 类型:

text/x-scala

用于 Scala 源代码。

class pygments.lexers.jvm.XtendLexer
短名称:

xtend

文件名:

*.xtend

MIME 类型:

text/x-xtend

用于 Xtend 源代码。

在 1.6 版本中添加。

Kuin 语言的词法分析器

class pygments.lexers.kuin.KuinLexer
短名称:

kuin

文件名:

*.kn

MIME 类型:

用于 Kuin 源代码。

在 2.9 版本中添加。

Kusto 查询语言 (KQL) 的词法分析器

class pygments.lexers.kusto.KustoLexer
短名称:

kql, kusto

文件名:

*.kql, *.kusto, .csl

MIME 类型:

用于 Kusto 查询语言源代码。

在 2.17 版本中添加。

Pygments 用于 LDAP 的词法分析器

class pygments.lexers.ldap.LdaprcLexer
短名称:

ldapconf, ldaprc

文件名:

.ldaprc, ldaprc, ldap.conf

MIME 类型:

text/x-ldapconf

OpenLDAP 配置文件的词法分析器。

在 2.17 版本中添加。

class pygments.lexers.ldap.LdifLexer
短名称:

ldif

文件名:

*.ldif

MIME 类型:

text/x-ldif

LDIF 的词法分析器

在 2.17 版本中添加。

用于 Lean 定理证明器的词法分析器

class pygments.lexers.lean.Lean3Lexer
短名称:

lean, lean3

文件名:

*.lean

MIME 类型:

text/x-lean, text/x-lean3

用于 Lean 3 定理证明器。

在 2.0 版本中添加。

class pygments.lexers.lean.Lean4Lexer
短名称:

lean4

文件名:

*.lean

MIME 类型:

text/x-lean4

用于 Lean 4 定理证明器。

在版本 2.18 中添加。

用于 LilyPond 的词法分析器

class pygments.lexers.lilypond.LilyPondLexer
短名称:

lilypond

文件名:

*.ly

MIME 类型:

用于 LilyPond 的词法分析器,LilyPond 是一种基于文本的音乐排版软件。

重要

此词法分析器应与 lilypond 样式结合使用。

在版本 2.11 中添加。

用于 Lispy 语言的词法分析器

class pygments.lexers.lisp.CPSALexer
短名称:

cpsa

文件名:

*.cpsa

MIME 类型:

基于 CPSA 语言(截至版本 2.2.12)的 CPSA 词法分析器

在 2.1 版本中添加。

class pygments.lexers.lisp.CommonLispLexer
短名称:

common-lisp, cl, lisp

文件名:

*.cl, *.lisp

MIME 类型:

text/x-common-lisp

Common Lisp 词法分析器。

在版本 0.9 中添加。

class pygments.lexers.lisp.EmacsLispLexer
短名称:

emacs-lisp, elisp, emacs

文件名:

*.el

MIME 类型:

text/x-elisp, application/x-elisp

ELisp 词法分析器,解析流并输出突出显示 elisp 代码所需的标记。

在 2.1 版本中添加。

class pygments.lexers.lisp.FennelLexer
短名称:

fennel, fnl

文件名:

*.fnl

MIME 类型:

用于 Fennel 编程语言的词法分析器。

Fennel 编译为 Lua,因此所有 Lua 内置函数以及 Fennel 编译器特有的特殊形式都得到了识别。

在版本 2.3 中添加。

class pygments.lexers.lisp.HyLexer
短名称:

hylang, hy

文件名:

*.hy

MIME 类型:

text/x-hy, application/x-hy

用于 Hy 源代码的词法分析器。

在 2.0 版本中添加。

class pygments.lexers.lisp.JanetLexer
短名称:

janet

文件名:

*.janet, *.jdn

MIME 类型:

text/x-janet, application/x-janet

用于 Janet 编程语言的词法分析器。

在版本 2.18 中添加。

class pygments.lexers.lisp.NewLispLexer
短名称:

newlisp

文件名:

*.lsp, *.nl, *.kif

MIME 类型:

text/x-newlisp, application/x-newlisp

用于 newLISP 源代码(版本 10.3.0)。

在版本 1.5 中添加。

class pygments.lexers.lisp.RacketLexer
短名称:

racket, rkt

文件名:

*.rkt, *.rktd, *.rktl

MIME 类型:

text/x-racket, application/x-racket

用于 Racket 源代码的词法分析器(以前称为 PLT Scheme)。

在 1.6 版本中添加。

class pygments.lexers.lisp.SchemeLexer
短名称:

scheme, scm

文件名:

*.scm, *.ss

MIME 类型:

text/x-scheme, application/x-scheme

Scheme 词法分析器。

此解析器已使用 http://paste.lisp.org/ 上的 LISP 粘贴内容进行检查,以尽可能多地涵盖语法。

它支持 R5RS 中定义的完整 Scheme 语法。

在版本 0.6 中添加。

class pygments.lexers.lisp.ShenLexer
短名称:

shen

文件名:

*.shen

MIME 类型:

text/x-shen, application/x-shen

用于 Shen 源代码的词法分析器。

在 2.1 版本中添加。

class pygments.lexers.lisp.XtlangLexer
短名称:

extempore

文件名:

*.xtm

MIME 类型:

用于 Extempore 编程环境的 xtlang 词法分析器。

这实际上是 Scheme 和 xtlang 的混合。关键字列表取自 Extempore Emacs 模式 (https://github.com/extemporelang/extempore-emacs-mode)

在 2.2 版本中添加。

用于 Macaulay2 的词法分析器

class pygments.lexers.macaulay2.Macaulay2Lexer
短名称:

macaulay2

文件名:

*.m2

MIME 类型:

Macaulay2 是一个用于代数几何研究的软件系统,此为其词法分析器。

在版本 2.12 中添加。

Makefile 和类似语言的词法分析器

class pygments.lexers.make.BaseMakefileLexer
短名称:

basemake

文件名:

MIME 类型:

简单的 Makefile 词法分析器(不进行预处理)。

在版本 0.10 中添加。

class pygments.lexers.make.CMakeLexer
短名称:

cmake

文件名:

*.cmake, CMakeLists.txt

MIME 类型:

text/x-cmake

CMake 文件的词法分析器。

在版本 1.2 中添加。

class pygments.lexers.make.MakefileLexer
短名称:

make, makefile, mf, bsdmake

文件名:

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

MIME 类型:

text/x-makefile

BSD 和 GNU make 扩展的词法分析器(足够宽松,即使在同一个文件中处理两者)。

在 Pygments 0.10 中重写。

非 HTML 标记语言的词法分析器

class pygments.lexers.markup.BBCodeLexer
短名称:

bbcode

文件名:

MIME 类型:

text/x-bbcode

一个突出显示 BBCode(类似)语法的词法分析器。

在版本 0.6 中添加。

class pygments.lexers.markup.GroffLexer
短名称:

groff, nroff, man

文件名:

*.[1-9], *.man, *.1p, *.3pm

MIME 类型:

application/x-troff, text/troff

(g)roff 排版语言的词法分析器,支持 groff 扩展。主要用于突出显示手册页源代码。

在版本 0.6 中添加。

class pygments.lexers.markup.MarkdownLexer
短名称:

markdown, md

文件名:

*.md, *.markdown

MIME 类型:

text/x-markdown

用于 Markdown 标记语言。

在 2.2 版本中添加。

class pygments.lexers.markup.MoinWikiLexer
短名称:

trac-wiki, moin

文件名:

MIME 类型:

text/x-trac-wiki

用于 MoinMoin(和 Trac)维基标记。

在版本 0.7 中添加。

class pygments.lexers.markup.MozPreprocCssLexer
短名称:

css+mozpreproc

文件名:

*.css.in

MIME 类型:

这是一个 MozPreprocHashLexer 的子类,它使用 CssLexer 突出显示未分析的数据。

在 2.0 版本中添加。

class pygments.lexers.markup.MozPreprocHashLexer
短名称:

mozhashpreproc

文件名:

MIME 类型:

用于 Mozilla 预处理器文件(使用“#”作为标记)。

其他数据保持不变。

在 2.0 版本中添加。

class pygments.lexers.markup.MozPreprocJavascriptLexer
短名称:

javascript+mozpreproc

文件名:

*.js.in

MIME 类型:

这是一个 MozPreprocHashLexer 的子类,它使用 JavascriptLexer 突出显示未分析的数据。

在 2.0 版本中添加。

class pygments.lexers.markup.MozPreprocPercentLexer
短名称:

mozpercentpreproc

文件名:

MIME 类型:

用于 Mozilla 预处理器文件(使用“%”作为标记)。

其他数据保持不变。

在 2.0 版本中添加。

class pygments.lexers.markup.MozPreprocXulLexer
短名称:

xul+mozpreproc

文件名:

*.xul.in

MIME 类型:

这是一个 MozPreprocHashLexer 的子类,它使用 XmlLexer 突出显示未分析的数据。

在 2.0 版本中添加。

class pygments.lexers.markup.OrgLexer
短名称:

org, orgmode, org-mode

文件名:

*.org

MIME 类型:

text/org

用于 Org Mode 标记语言。

在版本 2.18 中添加。

class pygments.lexers.markup.RstLexer
短名称:

restructuredtext, rst, rest

文件名:

*.rst, *.rest

MIME 类型:

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

用于 reStructuredText 标记语言。

接受的附加选项

handlecodeblocks

使用给定语言的词法分析器突出显示 .. sourcecode:: language.. code:: language.. code-block:: language 指令的内容(默认值:True)。

在 0.8 版本中添加。

在版本 0.7 中添加。

class pygments.lexers.markup.TexLexer
短名称:

tex, latex

文件名:

*.tex, *.aux, *.toc

MIME 类型:

text/x-tex, text/x-latex

TeX 和 LaTeX 排版语言的词法分析器。

class pygments.lexers.markup.TiddlyWiki5Lexer
短名称:

tid

文件名:

*.tid

MIME 类型:

text/vnd.tiddlywiki

用于 TiddlyWiki5 标记语言。

在 2.7 版本中添加。

class pygments.lexers.markup.WikitextLexer
短名称:

wikitext, mediawiki

文件名:

MIME 类型:

text/x-wiki

用于 MediaWiki Wikitext。

解析 Wikitext 很棘手,结果在不同的 MediaWiki 安装之间会有所不同,因此我们只突出显示常见的语法(内置的或来自流行扩展的),并且还假设模板不会产生不平衡的语法。

在版本 2.15 中添加。

用于计算机代数系统 Maxima 的词法分析器

class pygments.lexers.maxima.MaximaLexer
短名称:

maxima, macsyma

文件名:

*.mac, *.max

MIME 类型:

一个 Maxima 词法分析器。源自 pygments.lexers.MuPADLexer。

在版本 2.11 中添加。

用于 Meson 构建系统的 Pygments 词法分析器

class pygments.lexers.meson.MesonLexer
短名称:

meson, meson.build

文件名:

meson.build, mesonoptions.txt

MIME 类型:

text/x-meson

Meson 语言词法分析器。

用于转录语法的语法定义是从 https://mesonbuild.cn/Syntax.html#grammar 中检索的,版本为 0.58。其中一些定义被不正确地转录,因此也检查了 Meson++ 实现:https://github.com/dcbaker/meson-plus-plus

在 2.10 版本中添加。

用于多用途互联网邮件扩展 (MIME) 数据的词法分析器

class pygments.lexers.mime.MIMELexer
短名称:

mime

文件名:

MIME 类型:

multipart/mixed, multipart/related, multipart/alternative

用于多用途互联网邮件扩展 (MIME) 数据的词法分析器。此词法分析器旨在处理嵌套的 multipart 数据。

它假定给定的数据包含标题和正文(并且在空行处被拆分)。如果找不到有效的标题,则整个数据将被视为正文。

接受的附加选项

MIME-max-level

嵌套 MIME 结构的最大递归级别。任何负数将被视为无限。(默认值:-1)

Content-Type

将数据视为特定的内容类型。在标题缺失或此词法分析器试图从标题中进行解析时有用。(默认值:text/plain

Multipart-Boundary

设置默认的 multipart 边界分隔符。此选项仅在 Content-Typemultipart 且标题缺失时使用。默认情况下,此词法分析器会尝试从标题中解析。(默认值:None)

Content-Transfer-Encoding

将数据视为特定的编码。否则,此词法分析器将尝试从标题中解析。(默认值:None)

在版本 2.5 中添加。

MIPS 汇编词法分析器

class pygments.lexers.mips.MIPSLexer
短名称:

mips

文件名:

*.mips, *.MIPS

MIME 类型:

一个 MIPS 汇编词法分析器。

基于 hlissner 的 Emacs 主模式:https://github.com/hlissner/emacs-mips-mode

ML 家族语言词法分析器

class pygments.lexers.ml.FStarLexer
短名称:

fstar

文件名:

*.fst, *.fsti

MIME 类型:

text/x-fstar

用于 F* 语言。

在 2.7 版本中添加。

class pygments.lexers.ml.OcamlLexer
短名称:

ocaml

文件名:

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

MIME 类型:

text/x-ocaml

用于 OCaml 语言。

在版本 0.7 中添加。

class pygments.lexers.ml.OpaLexer
短名称:

opa

文件名:

*.opa

MIME 类型:

text/x-opa

Opa 语言的词法分析器。

在版本 1.5 中添加。

class pygments.lexers.ml.ReasonLexer
短名称:

reasonml, reason

文件名:

*.re, *.rei

MIME 类型:

text/x-reasonml

用于 ReasonML 语言。

在 2.6 版本中添加。

class pygments.lexers.ml.SMLLexer
短名称:

sml

文件名:

*.sml, *.sig, *.fun

MIME 类型:

text/x-standardml, application/x-standardml

用于 Standard ML 语言。

在版本 1.5 中添加。

建模语言词法分析器

class pygments.lexers.modeling.BugsLexer
短名称:

bugs, winbugs, openbugs

文件名:

*.bug

MIME 类型:

用于 OpenBugs 和 WinBugs 模型的 Pygments 词法分析器。

在 1.6 版本中添加。

class pygments.lexers.modeling.JagsLexer
短名称:

jags

文件名:

*.jag, *.bug

MIME 类型:

用于 JAGS 的 Pygments 词法分析器。

在 1.6 版本中添加。

class pygments.lexers.modeling.ModelicaLexer
短名称:

modelica

文件名:

*.mo

MIME 类型:

text/x-modelica

用于 Modelica 源代码。

在 1.1 版本中添加。

class pygments.lexers.modeling.StanLexer
短名称:

stan

文件名:

*.stan

MIME 类型:

用于 Stan 模型的 Pygments 词法分析器。

Stan 建模语言在 *Stan Modeling Language User's Guide and Reference Manual, v2.17.0* 中指定,pdf

在 1.6 版本中添加。

Modula-2 多方言词法分析器

class pygments.lexers.modula2.Modula2Lexer
短名称:

modula2, m2

文件名:

*.def, *.mod

MIME 类型:

text/x-modula2

用于 Modula-2 源代码。

Modula-2 词法分析器支持多种方言。默认情况下,它以回退模式运行,识别所有支持方言的 *组合* 字面量、标点符号和运算符,以及 PIM Modula-2、ISO Modula-2 和 Modula-2 R10 的 *组合* 保留字和内置函数,而不区分库定义的标识符。

要选择特定的方言,可以传递方言选项或将方言标记嵌入到源文件中。

方言选项

m2pim

选择 PIM Modula-2 方言。

m2iso

选择 ISO Modula-2 方言。

m2r10

选择 Modula-2 R10 方言。

objm2

选择 Objective Modula-2 方言。

PIM 和 ISO 方言选项可以用语言扩展限定。

语言扩展

+aglet

选择 Aglet Modula-2 扩展,可用于 m2iso。

+gm2

选择 GNU Modula-2 扩展,可用于 m2pim。

+p1

选择 p1 Modula-2 扩展,可用于 m2iso。

+xds

选择 XDS Modula-2 扩展,可用于 m2iso。

通过 Unix 命令行接口传递方言选项

可以使用 dialect 键将方言选项传递给词法分析器。只应传递一个此类选项。如果传递多个方言选项,则使用第一个有效选项,任何后续选项都将被忽略。

示例

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

使用 ISO 方言将输入渲染到 HTML 输出。

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

使用带 p1 扩展的 ISO 方言将输入渲染到 RTF 输出。

在源文件中嵌入方言选项

方言选项可以以方言标记的形式嵌入到源文件中,方言标记是一种特殊格式的注释,用于指定方言选项。

方言标记 EBNF

dialectTag :
    OpeningCommentDelim Prefix dialectOption ClosingCommentDelim ;

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

Prefix : '!' ;

OpeningCommentDelim : '(*' ;

ClosingCommentDelim : '*)' ;

方言标记的令牌之间不允许出现空格。

如果源文件包含多个方言标记,则将使用包含有效方言选项的第一个标记,任何后续方言标记都将被忽略。理想情况下,方言标记应放在源文件开头。

嵌入的方言标记会覆盖通过命令行设置的方言选项。

示例

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

使用 Modula2 R10 方言渲染此源文件。

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

使用带 GNU 扩展的 PIM 方言渲染此源文件。

Algol 出版模式

在 Algol 出版模式中,源文本将被渲染以供在科学论文和学术文本中出版算法,遵循修订版 Algol-60 语言报告的格式。可以通过传递两个对应样式之一作为选项来激活它

algol

将保留字渲染为小写下划线粗体,并将内置函数渲染为小写粗体斜体

algol_nu

将保留字渲染为小写粗体(无下划线),并将内置函数渲染为小写粗体斜体

当激活此模式时,词法分析器会自动执行所需的全部小写转换。

例子

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

以 Algol 出版模式将输入文件渲染到 LaTeX 输出。

一流 ADT 标识符的渲染模式

标准库一流 ADT 标识符的渲染由选项标志“treat_stdlib_adts_as_builtins”控制。

当此选项打开时,标准库 ADT 标识符将被渲染为内置函数。当它关闭时,它们将被渲染为普通的库标识符。

treat_stdlib_adts_as_builtins (默认值:打开)

此选项对于支持 ADT 作为一流对象的方言很有用,并且在标准库中提供 ADT,否则这些 ADT 将是内置的。

目前,只有 Modula-2 R10 支持库 ADT 作为一流对象,因此,任何其他方言都没有定义 ADT 标识符。

例子

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

将标准库 ADT 渲染为普通的库类型。

版本 2.1 中的变更: 添加了多方言支持。

在版本 1.3 中添加。

用于 Monte 编程语言的词法分析器

class pygments.lexers.monte.MonteLexer
短名称:

monte

文件名:

*.mt

MIME 类型:

用于 Monte 编程语言的词法分析器。

在 2.2 版本中添加。

用于 mosel 语言的词法分析器

class pygments.lexers.mosel.MoselLexer
短名称:

mosel

文件名:

*.mos

MIME 类型:

用于 Mosel 优化语言。

在 2.6 版本中添加。

用于 NCAR 命令语言的词法分析器

class pygments.lexers.ncl.NCLLexer
短名称:

ncl

文件名:

*.ncl

MIME 类型:

text/ncl

用于 NCL 代码的词法分析器。

在 2.2 版本中添加。

用于 Nim 语言(以前称为 Nimrod)的词法分析器

class pygments.lexers.nimrod.NimrodLexer
短名称:

nimrod, nim

文件名:

*.nim, *.nimrod

MIME 类型:

text/x-nim

用于 Nim 源代码。

在版本 1.5 中添加。

Nit 语言的词法分析器

class pygments.lexers.nit.NitLexer
短名称:

nit

文件名:

*.nit

MIME 类型:

用于 nit 源代码。

在 2.0 版本中添加。

NixOS Nix 语言的词法分析器

class pygments.lexers.nix.NixLexer
短名称:

nixos, nix

文件名:

*.nix

MIME 类型:

text/x-nix

用于 Nix 语言。

在 2.0 版本中添加。

Oberon 家族语言的词法分析器

class pygments.lexers.oberon.ComponentPascalLexer
短名称:

componentpascal, cp

文件名:

*.cp, *.cps

MIME 类型:

text/x-component-pascal

用于 Component Pascal 源代码。

在 2.1 版本中添加。

Objective-C 家族语言的词法分析器

class pygments.lexers.objective.LogosLexer
短名称:

logos

文件名:

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

MIME 类型:

text/x-logos

用于包含预处理指令的 Logos + Objective-C 源代码。

在 1.6 版本中添加。

class pygments.lexers.objective.ObjectiveCLexer
短名称:

objective-c, objectivec, obj-c, objc

文件名:

*.m, *.h

MIME 类型:

text/x-objective-c

用于包含预处理指令的 Objective-C 源代码。

class pygments.lexers.objective.ObjectiveCppLexer
短名称:

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

文件名:

*.mm, *.hh

MIME 类型:

text/x-objective-c++

用于包含预处理指令的 Objective-C++ 源代码。

class pygments.lexers.objective.SwiftLexer
短名称:

swift

文件名:

*.swift

MIME 类型:

text/x-swift

用于 Swift 源代码。

在 2.0 版本中添加。

Ooc 语言的词法分析器

class pygments.lexers.ooc.OocLexer
短名称:

ooc

文件名:

*.ooc

MIME 类型:

text/x-ooc

用于 Ooc 源代码

在版本 1.2 中添加。

OpenSCAD 语言的词法分析器

class pygments.lexers.openscad.OpenScadLexer
短名称:

openscad

文件名:

*.scad

MIME 类型:

application/x-openscad

用于 openSCAD 代码。

在版本 2.16 中添加。

ParaSail 的词法分析器

class pygments.lexers.parasail.ParaSailLexer
短名称:

parasail

文件名:

*.psi, *.psl

MIME 类型:

text/x-parasail

用于 ParaSail 源代码。

在 2.1 版本中添加。

语法分析器生成的词法分析器

class pygments.lexers.parsers.AntlrActionScriptLexer
短名称:

antlr-actionscript, antlr-as

文件名:

*.G, *.g

MIME 类型:

ANTLR with ActionScript Target

在 1.1 版本中添加。

class pygments.lexers.parsers.AntlrCSharpLexer
短名称:

antlr-csharp, antlr-c#

文件名:

*.G, *.g

MIME 类型:

ANTLR with C# Target

在 1.1 版本中添加。

class pygments.lexers.parsers.AntlrCppLexer
短名称:

antlr-cpp

文件名:

*.G, *.g

MIME 类型:

ANTLR with C++ Target

在 1.1 版本中添加。

class pygments.lexers.parsers.AntlrJavaLexer
短名称:

antlr-java

文件名:

*.G, *.g

MIME 类型:

ANTLR with Java Target

在 1.1 版本中添加。

class pygments.lexers.parsers.AntlrLexer
短名称:

antlr

文件名:

MIME 类型:

通用 ANTLR 词法分析器。 不应直接调用,而应使用 DelegatingLexer 来调用您的目标语言。

在 1.1 版本中添加。

class pygments.lexers.parsers.AntlrObjectiveCLexer
短名称:

antlr-objc

文件名:

*.G, *.g

MIME 类型:

ANTLR with Objective-C Target

在 1.1 版本中添加。

class pygments.lexers.parsers.AntlrPerlLexer
短名称:

antlr-perl

文件名:

*.G, *.g

MIME 类型:

ANTLR with Perl Target

在 1.1 版本中添加。

class pygments.lexers.parsers.AntlrPythonLexer
短名称:

antlr-python

文件名:

*.G, *.g

MIME 类型:

ANTLR with Python Target

在 1.1 版本中添加。

class pygments.lexers.parsers.AntlrRubyLexer
短名称:

antlr-ruby, antlr-rb

文件名:

*.G, *.g

MIME 类型:

ANTLR with Ruby Target

在 1.1 版本中添加。

class pygments.lexers.parsers.EbnfLexer
短名称:

ebnf

文件名:

*.ebnf

MIME 类型:

text/x-ebnf

用于 ISO/IEC 14977 EBNF 语法的词法分析器。

在 2.0 版本中添加。

class pygments.lexers.parsers.RagelCLexer
短名称:

ragel-c

文件名:

*.rl

MIME 类型:

用于 Ragel 的词法分析器,其主机文件为 C。

在 1.1 版本中添加。

class pygments.lexers.parsers.RagelCppLexer
短名称:

ragel-cpp

文件名:

*.rl

MIME 类型:

用于 Ragel 的词法分析器,其主机文件为 C++。

在 1.1 版本中添加。

class pygments.lexers.parsers.RagelDLexer
短名称:

ragel-d

文件名:

*.rl

MIME 类型:

用于 Ragel 的词法分析器,其主机文件为 D。

在 1.1 版本中添加。

class pygments.lexers.parsers.RagelEmbeddedLexer
短名称:

ragel-em

文件名:

*.rl

MIME 类型:

用于嵌入主机语言文件的 Ragel 的词法分析器。

这将只突出显示 Ragel 语句。 如果你想要主机语言的突出显示,那么调用特定语言的 Ragel 词法分析器。

在 1.1 版本中添加。

class pygments.lexers.parsers.RagelJavaLexer
短名称:

ragel-java

文件名:

*.rl

MIME 类型:

用于 Ragel 的词法分析器,其主机文件为 Java。

在 1.1 版本中添加。

class pygments.lexers.parsers.RagelLexer
短名称:

ragel

文件名:

MIME 类型:

一个纯 Ragel 词法分析器。 将此用于 Ragel 的片段。 对于 .rl 文件,请使用 RagelEmbeddedLexer 代替(或使用其中一个特定语言的子类)。

在 1.1 版本中添加。

class pygments.lexers.parsers.RagelObjectiveCLexer
短名称:

ragel-objc

文件名:

*.rl

MIME 类型:

用于 Ragel 的词法分析器,其主机文件为 Objective C。

在 1.1 版本中添加。

class pygments.lexers.parsers.RagelRubyLexer
短名称:

ragel-ruby, ragel-rb

文件名:

*.rl

MIME 类型:

用于 Ragel 的词法分析器,其主机文件为 Ruby。

在 1.1 版本中添加。

class pygments.lexers.parsers.TreetopLexer
短名称:

treetop

文件名:

*.treetop, *.tt

MIME 类型:

用于 Treetop 语法的词法分析器。

在 1.6 版本中添加。

Pascal 家族语言的词法分析器

class pygments.lexers.pascal.DelphiLexer
短名称:

delphi, pas, pascal, objectpascal

文件名:

*.pas, *.dpr

MIME 类型:

text/x-pascal

用于 Delphi(Borland Object Pascal)、Turbo Pascal 和 Free Pascal 源代码。

接受的附加选项

turbopascal

突出显示 Turbo Pascal 特定关键字(默认:True)。

delphi

突出显示 Borland Delphi 特定关键字(默认:True)。

freepascal

突出显示 Free Pascal 特定关键字(默认:True)。

units

应该被视为内置的单元列表,支持的单元有 SystemSysUtilsClassesMath。 默认情况下将所有这些视为内置的。

class pygments.lexers.pascal.PortugolLexer
短名称:

葡萄牙语

文件名:

*.alg, *.portugol

MIME 类型:

针对 Portugol,一种以葡萄牙语作为关键字的 Pascal 方言。

Pawn 语言的词法分析器

class pygments.lexers.pawn.PawnLexer
短名称:

pawn

文件名:

*.p, *.pwn, *.inc

MIME 类型:

text/x-pawn

针对 Pawn 源代码。

在 2.0 版本中添加。

class pygments.lexers.pawn.SourcePawnLexer
短名称:

sp

文件名:

*.sp

MIME 类型:

text/x-sourcepawn

针对包含预处理指令的 SourcePawn 源代码。

在 1.6 版本中添加。

Phix 的词法分析器

class pygments.lexers.phix.PhixLexer
短名称:

phix

文件名:

*.exw

MIME 类型:

text/x-phix

针对 Phix 文件 (.exw) 的 Pygments 词法分析器。请参阅 http://phix.x10.mx

在 2.14 版本中添加。

Pointless 的词法分析器

class pygments.lexers.pointless.PointlessLexer
短名称:

pointless

文件名:

*.ptls

MIME 类型:

针对 Pointless 源代码。

在 2.7 版本中添加。

针对 Praat 的词法分析器

class pygments.lexers.praat.PraatLexer
短名称:

praat

文件名:

*.praat, *.proc, *.psc

MIME 类型:

针对 Praat 脚本。

在 2.1 版本中添加。

针对 Procfile 文件格式的词法分析器

class pygments.lexers.procfile.ProcfileLexer
短名称:

procfile

文件名:

Procfile

MIME 类型:

针对 Procfile 文件格式的词法分析器。

该格式用于在 Heroku 上运行进程,或由 Foreman 或 Honcho 工具使用。

在 2.10 版本中添加。

Prolog 和类 Prolog 语言的词法分析器

class pygments.lexers.prolog.LogtalkLexer
短名称:

logtalk

文件名:

*.lgt, *.logtalk

MIME 类型:

text/x-logtalk

针对 Logtalk 源代码。

在版本 0.10 中添加。

class pygments.lexers.prolog.PrologLexer
短名称:

prolog

文件名:

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

MIME 类型:

text/x-prolog

针对 Prolog 文件的词法分析器。

针对 Prometheus 查询语言的词法分析器

class pygments.lexers.promql.PromQLLexer
短名称:

promql

文件名:

*.promql

MIME 类型:

针对 PromQL 查询。

有关语法的详细信息,请参阅:https://github.com/prometheus/prometheus/tree/master/promql/parser

针对 PRQL 查询语言的词法分析器

class pygments.lexers.prql.PrqlLexer
短名称:

prql

文件名:

*.prql

MIME 类型:

application/prql, application/x-prql

针对 PRQL 源代码。

语法:https://github.com/PRQL/prql/tree/main/grammars

在 2.17 版本中添加。

针对其他 PTX 语言的词法分析器

class pygments.lexers.ptx.PtxLexer
短名称:

ptx

文件名:

*.ptx

MIME 类型:

text/x-ptx

针对 NVIDIA PTX 源代码。

在版本 2.16 中添加。

Q 编程语言的词法分析器

class pygments.lexers.q.KLexer
短名称:

k

文件名:

*.k

MIME 类型:

用于 K 源代码。

在版本 2.12 中添加。

class pygments.lexers.q.QLexer
短名称:

q

文件名:

*.q

MIME 类型:

用于 Q 源代码。

在版本 2.12 中添加。

Qlik 脚本语言的词法分析器

class pygments.lexers.qlik.QlikLexer
短名称:

qlik, qlikview, qliksense, qlikscript

文件名:

*.qvs, *.qvw

MIME 类型:

用于 Qlik 代码,包括 .qvs 文件。

在版本 2.12 中添加。

QVT 操作语言的词法分析器

class pygments.lexers.qvt.QVToLexer
短名称:

qvto, qvt

文件名:

*.qvto

MIME 类型:

用于 QVT 操作映射语言。

实现此功能的参考: «元对象设施 (MOF) 2.0 查询/视图/转换规范», 版本 1.1 - 2011 年 1 月 (https://www.omg.org/spec/QVT/1.1/), 特别参见 §8.4, «具体语法»。

值得注意的标记分配

  • Name.Class 被分配给以下任何关键字后的标识符: metamodel, class, exception, primitive, enum, transformation 或 library

  • Name.Function 被分配给映射和查询的名称

  • Name.Builtin.Pseudo 被分配给预定义变量 ‘this’, ‘self’ 和 ‘result’。

R/S 语言的词法分析器

class pygments.lexers.r.RConsoleLexer
短名称:

rconsole, rout

文件名:

*.Rout

MIME 类型:

用于 R 控制台转录或 R CMD BATCH 输出文件。

例子

R version 2.9.2 (2009-08-24)
Copyright (C) 2009 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

[R.app GUI 1.29 (5464) i386-apple-darwin8.11.1]

> x <- function {}
Error: syntax error
> x <- function() {}
> x <- function() {
+ cat("hello")
+ cat("world")
+ }
> x
function() {
cat("hello")
cat("world")
}
> x()
helloworld
> 2 + 2
[1] 4
> 
class pygments.lexers.r.RdLexer
短名称:

rd

文件名:

*.Rd

MIME 类型:

text/x-r-doc

用于 R 文档 (Rd) 文件的 Pygments 词法分析器

这是一个非常基础的实现,突出显示的内容只比宏稍微多一些。Rd 语法的描述可以在 编写 R 扩展解析 Rd 文件 中找到。

在 1.6 版本中添加。

class pygments.lexers.r.SLexer
短名称:

splus, s, r

文件名:

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

MIME 类型:

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

用于 S, S-plus 和 R 源代码。

在版本 0.10 中添加。

语义网和 RDF 查询语言以及标记的词法分析器

class pygments.lexers.rdf.ShExCLexer
短名称:

shexc, shex

文件名:

*.shex

MIME 类型:

text/shex

用于 ShExC 形状表达式语言语法的词法分析器。

class pygments.lexers.rdf.SparqlLexer
短名称:

sparql

文件名:

*.rq, *.sparql

MIME 类型:

application/sparql-query

用于 SPARQL 查询语言的词法分析器。

在 2.0 版本中添加。

class pygments.lexers.rdf.TurtleLexer
短名称:

turtle

文件名:

*.ttl

MIME 类型:

text/turtle, application/x-turtle

用于 Turtle 数据语言的词法分析器。

在 2.1 版本中添加。

资源定义文件的词法分析器

class pygments.lexers.resource.ResourceLexer
短名称:

resourcebundle, resource

文件名:

MIME 类型:

用于 ICU 资源包的词法分析器。

在 2.0 版本中添加。

Ride 编程语言的词法分析器

class pygments.lexers.ride.RideLexer
短名称:

ride

文件名:

*.ride

MIME 类型:

text/x-ride

用于 Ride 源代码。

在 2.6 版本中添加。

RITA 语言的词法分析器

class pygments.lexers.rita.RitaLexer
短名称:

rita

文件名:

*.rita

MIME 类型:

text/rita

用于 RITA 的词法分析器。

在版本 2.11 中添加。

Relax-NG 紧凑语法的词法分析器

class pygments.lexers.rnc.RNCCompactLexer
短名称:

rng-compact, rnc

文件名:

*.rnc

MIME 类型:

用于 RelaxNG 紧凑语法。

在 2.2 版本中添加。

Roboconf DSL 的词法分析器

class pygments.lexers.roboconf.RoboconfGraphLexer
短名称:

roboconf-graph

文件名:

*.graph

MIME 类型:

用于 Roboconf 图文件词法分析器。

在 2.1 版本中添加。

class pygments.lexers.roboconf.RoboconfInstancesLexer
短名称:

roboconf-instances

文件名:

*.instances

MIME 类型:

用于 Roboconf 实例文件词法分析器。

在 2.1 版本中添加。

Robot Framework 的词法分析器

class pygments.lexers.robotframework.RobotFrameworkLexer
短名称:

robotframework

文件名:

*.robot, *.resource

MIME 类型:

text/x-robotframework

用于 Robot Framework 测试数据。

支持空格和管道分隔的纯文本格式。

在 1.6 版本中添加。

Rust 语言的词法分析器

class pygments.lexers.rust.RustLexer
短名称:

rust, rs

文件名:

*.rs, *.rs.in

MIME 类型:

text/rust, text/x-rust

用于 Rust 编程语言(版本 1.47)的词法分析器。

在 1.6 版本中添加。

SAS 的词法分析器

class pygments.lexers.sas.SASLexer
短名称:

sas

文件名:

*.SAS, *.sas

MIME 类型:

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

用于 SAS 文件。

在 2.2 版本中添加。

Savi 的词法分析器

class pygments.lexers.savi.SaviLexer
短名称:

savi

文件名:

*.savi

MIME 类型:

用于 Savi 源代码。

scdoc 的词法分析器,一个简单的 man 页面生成器

class pygments.lexers.scdoc.ScdocLexer
短名称:

scdoc, scd

文件名:

*.scd, *.scdoc

MIME 类型:

scdoc 是一个用 C99 编写的 POSIX 系统的简单 man 页面生成器。

在版本 2.5 中添加。

脚本和嵌入式语言的词法分析器

class pygments.lexers.scripting.AppleScriptLexer
短名称:

applescript

文件名:

*.applescript

MIME 类型:

用于 AppleScript 源代码,包括 AppleScript Studio。由 Andreas Amann <aamann@mac.com> 贡献。

在版本 1.0 中添加。

class pygments.lexers.scripting.ChaiscriptLexer
短名称:

chaiscript, chai

文件名:

*.chai

MIME 类型:

text/x-chaiscript, application/x-chaiscript

用于 ChaiScript 源代码。

在 2.0 版本中添加。

class pygments.lexers.scripting.EasytrieveLexer
短名称:

easytrieve

文件名:

*.ezt, *.mac

MIME 类型:

text/x-easytrieve

Easytrieve Plus 是一种用于提取、过滤和转换顺序数据的编程语言。此外,它还可以为报表布局数据。它主要用于大型机平台,可以访问大型机的大多数本机文件格式。它有点类似于 awk。

在 2.1 版本中添加。

class pygments.lexers.scripting.HybrisLexer
短名称:

hybris

文件名:

*.hyb

MIME 类型:

text/x-hybris, application/x-hybris

用于 Hybris 源代码。

在版本 1.4 中添加。

class pygments.lexers.scripting.JclLexer
短名称:

jcl

文件名:

*.jcl

MIME 类型:

text/x-jcl

作业控制语言 (JCL) 是一种大型机平台上使用的脚本语言,用于指示系统如何运行批处理作业或启动子系统。它有点类似于 MS DOS 批处理和 Unix shell 脚本。

在 2.1 版本中添加。

class pygments.lexers.scripting.LSLLexer
短名称:

lsl

文件名:

*.lsl

MIME 类型:

text/x-lsl

用于 Second Life 的 Linden Scripting Language 源代码。

在 2.0 版本中添加。

class pygments.lexers.scripting.LuaLexer
短名称:

lua

文件名:

*.lua, *.wlua

MIME 类型:

text/x-lua, application/x-lua

用于 Lua 源代码。

接受的附加选项

func_name_highlighting

如果给出且为 True,则高亮显示内置函数名称(默认:True)。

disabled_modules

如果给出,则必须是函数名称不应突出显示的模块名称列表。默认情况下,所有模块都突出显示。

要获取允许的模块列表,请查看 _lua_builtins 模块。

>>> from pygments.lexers._lua_builtins import MODULES
>>> MODULES.keys()
['string', 'coroutine', 'modules', 'io', 'basic', ...]
class pygments.lexers.scripting.LuauLexer
短名称:

luau

文件名:

*.luau

MIME 类型:

用于 Luau 源代码。

接受的附加选项

include_luau_builtins

如果给出且为 True,则自动突出显示 Luau 内置函数(默认:True)。

include_roblox_builtins

如果给出且为 True,则自动突出显示 Roblox 特定的内置函数(默认:False)。

additional_builtins

如果给出,则必须是需要突出显示的额外内置函数列表。

disabled_builtins

如果给出,则必须是不会突出显示的内置函数列表。

在版本 2.18 中添加。

class pygments.lexers.scripting.MOOCodeLexer
短名称:

moocode, moo

文件名:

*.moo

MIME 类型:

text/x-moocode

用于 MOOCode(MOO 脚本语言)。

在版本 0.9 中添加。

class pygments.lexers.scripting.MiniScriptLexer
短名称:

miniscript, ms

文件名:

*.ms

MIME 类型:

text/x-minicript, application/x-miniscript

用于 MiniScript 源代码。

在 2.6 版本中添加。

class pygments.lexers.scripting.MoonScriptLexer
短名称:

moonscript, moon

文件名:

*.moon

MIME 类型:

text/x-moonscript, application/x-moonscript

用于 MoonScript 源代码。

在版本 1.5 中添加。

class pygments.lexers.scripting.RexxLexer
短名称:

rexx, arexx

文件名:

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

MIME 类型:

text/x-rexx

Rexx 是一种可用于各种不同平台的脚本语言,其根源在于大型机系统。它在 I/O 和数据相关任务方面很受欢迎,并且可以充当将不同应用程序绑定在一起的粘合语言。

在 2.0 版本中添加。

Smart Game Format (sgf) 文件格式的词法分析器

class pygments.lexers.sgf.SmartGameFormatLexer
短名称:

sgf

文件名:

*.sgf

MIME 类型:

Smart Game Format (sgf) 文件格式的词法分析器。

该格式用于存储双人棋盘游戏的比赛记录(主要是围棋比赛)。

在 2.4 版本中添加。

各种 shell 的词法分析器

class pygments.lexers.shell.BashLexer
短名称:

bash, sh, ksh, zsh, shell, openrc

文件名:

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

MIME 类型:

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

用于 (ba|k|z|)sh shell 脚本的词法分析器。

在版本 0.6 中添加。

class pygments.lexers.shell.BashSessionLexer
短名称:

console, shell-session

文件名:

*.sh-session, *.shell-session

MIME 类型:

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

用于 Bash shell 会话的词法分析器,即命令行,包括提示符,与输出交织在一起。

例子

user@host:~/path$ ls -a
.  ..  a  b  c
user@host:~/path$ diff -u a b
--- a   2008-07-26 17:10:07.000000000 -0700
+++ b   2008-07-26 17:10:10.000000000 -0700
@@ -1,3 +1,3 @@
 a
-b
+x
 c
user@host:~/path$ echo \
> a
a
user@host:~/path$ su
root@host:~#
sh-3.1$ # on hardy
sh$ # on etch
(virtualenv-name)user@host:~$ ls -a

在 1.1 版本中添加。

class pygments.lexers.shell.BatchLexer
短名称:

batch, bat, dosbatch, winbatch

文件名:

*.bat, *.cmd

MIME 类型:

application/x-dos-batch

用于 DOS/Windows 批处理文件格式的词法分析器。

在版本 0.7 中添加。

class pygments.lexers.shell.ExeclineLexer
短名称:

execline

文件名:

*.exec

MIME 类型:

用于 Laurent Bercot 的 execline 语言的词法分析器。

在 2.7 版本中添加。

class pygments.lexers.shell.FishShellLexer
短名称:

fish, fishshell

文件名:

*.fish, *.load

MIME 类型:

application/x-fish

用于 Fish shell 脚本的词法分析器。

在 2.1 版本中添加。

class pygments.lexers.shell.MSDOSSessionLexer
短名称:

doscon

文件名:

MIME 类型:

用于 MS DOS shell 会话的词法分析器,即命令行,包括提示符,与输出交织在一起。

例子

[any]> dir
> dir
More? dir

在 2.1 版本中添加。

class pygments.lexers.shell.PowerShellLexer
短名称:

powershell, pwsh, posh, ps1, psm1

文件名:

*.ps1, *.psm1

MIME 类型:

text/x-powershell

用于 Windows PowerShell 代码的词法分析器。

在版本 1.5 中添加。

class pygments.lexers.shell.PowerShellSessionLexer
短名称:

pwsh-session, ps1con

文件名:

MIME 类型:

用于 PowerShell 会话的词法分析器,即命令行,包括提示符,与输出交织在一起。

例子

PS[any]> Get-ChildItem
PS> Get-ChildItem
>> Get-ChildItem

在 2.1 版本中添加。

class pygments.lexers.shell.SlurmBashLexer
短名称:

slurm, sbatch

文件名:

*.sl

MIME 类型:

用于 (ba|k|z|)sh Slurm 脚本的词法分析器。

在 2.4 版本中添加。

class pygments.lexers.shell.TcshLexer
短名称:

tcsh, csh

文件名:

*.tcsh, *.csh

MIME 类型:

application/x-csh

用于 tcsh 脚本的词法分析器。

在版本 0.10 中添加。

class pygments.lexers.shell.TcshSessionLexer
短名称:

tcshcon

文件名:

MIME 类型:

用于 Tcsh 会话的词法分析器,即命令行,包括提示符,与输出交织在一起。

例子

(any)> ls -lh
? ls -lh

在 2.1 版本中添加。

Sieve 文件格式的词法分析器

class pygments.lexers.sieve.SieveLexer
短名称:

sieve

文件名:

*.siv, *.sieve

MIME 类型:

用于 sieve 格式的词法分析器。

在 2.6 版本中添加。

Slash 编程语言的词法分析器

class pygments.lexers.slash.SlashLexer
短名称:

slash

文件名:

*.sla

MIME 类型:

Slash 编程语言的词法分析器。

在 2.4 版本中添加。

Smithy IDL 的词法分析器

class pygments.lexers.smithy.SmithyLexer
短名称:

smithy

文件名:

*.smithy

MIME 类型:

用于 Smithy IDL

在 2.10 版本中添加。

SMV 语言的词法分析器

class pygments.lexers.smv.NuSMVLexer
短名称:

nusmv

文件名:

*.smv

MIME 类型:

NuSMV 语言的词法分析器。

在 2.2 版本中添加。

SNOBOL 语言的词法分析器

class pygments.lexers.snobol.SnobolLexer
短名称:

snobol

文件名:

*.snobol

MIME 类型:

text/x-snobol

SNOBOL4 编程语言的词法分析器。

识别原始 SNOBOL4 运算符的常见 ASCII 等效项。不需要在二元运算符周围使用空格。

在版本 1.5 中添加。

Solidity 的词法分析器

class pygments.lexers.solidity.SolidityLexer
短名称:

solidity

文件名:

*.sol

MIME 类型:

用于 Solidity 源代码。

在版本 2.5 中添加。

Soong (Android.bp 蓝图) 文件的词法分析器

class pygments.lexers.soong.SoongLexer
短名称:

androidbp, bp, soong

文件名:

Android.bp

MIME 类型:

在版本 2.18 中添加。

Sophia 的词法分析器

class pygments.lexers.sophia.SophiaLexer
短名称:

sophia

文件名:

*.aes

MIME 类型:

一个 Sophia 词法分析器。

在版本 2.11 中添加。

特殊词法分析器

class pygments.lexers.special.OutputLexer
短名称:

output

文件名:

MIME 类型:

简单的词法分析器,将所有内容突出显示为 Token.Generic.Output

例子

        ,
        \\`-._           __
        \\\\  `-..____,.'  `.
        :`.         /    \\`.
        :  )       :      : \\
        ;'        '   ;  |  :
        )..      .. .:.`.;  :
        /::...  .:::...   ` ;
        ; _ '    __        /:\\
        `:o>   /\\o_>      ;:. `.
        `-`.__ ;   __..--- /:.   \\
        === \\_/   ;=====_.':.     ;
        ,/'`--'...`--....        ;
            ;                    ;
            .'                      ;
        .'                        ;
        .'     ..     ,      .       ;
        :       ::..  /      ;::.     |
    /      `.;::.  |       ;:..    ;
    :         |:.   :       ;:.    ;
    :         ::     ;:..   |.    ;
    :       :;      :::....|     |
    /\\     ,/ \\      ;:::::;     ;
    .:. \\:..|    :     ; '.--|     ;
    ::.  :''  `-.,,;     ;'   ;     ;
.-'. _.'\\      / `;      \\,__:      \\
`---'    `----'   ;      /    \\,.,,,/
                    `----`              fsc

在 2.10 版本中添加。

class pygments.lexers.special.RawTokenLexer
短名称:

文件名:

MIME 类型:

application/x-pygments-tokens

使用 RawTokenFormatter 格式化令牌流。

接受的附加选项

compress

如果设置为 "gz""bz2",则在词法分析之前使用给定的压缩算法解压缩令牌流(默认值:"")。

class pygments.lexers.special.TextLexer
短名称:

text

文件名:

*.txt

MIME 类型:

text/plain

“空”词法分析器,不突出显示任何内容。

Spice 编程语言的词法分析器

class pygments.lexers.spice.SpiceLexer
短名称:

spice, spicelang

文件名:

*.spice

MIME 类型:

text/x-spice

用于 Spice 源代码。

在版本 2.11 中添加。

Arch Linux 包使用的 .SRCINFO 文件的词法分析器

class pygments.lexers.srcinfo.SrcinfoLexer
短名称:

srcinfo

文件名:

.SRCINFO

MIME 类型:

Arch Linux 包使用的 .SRCINFO 文件的词法分析器。

在版本 2.11 中添加。

Stata 的词法分析器

class pygments.lexers.stata.StataLexer
短名称:

stata, do

文件名:

*.do, *.ado

MIME 类型:

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

用于 Stata do 文件。

在 2.2 版本中添加。

SuperCollider 的词法分析器

class pygments.lexers.supercollider.SuperColliderLexer
短名称:

supercollider, sc

文件名:

*.sc, *.scd

MIME 类型:

application/supercollider, text/supercollider

用于 SuperCollider 源代码。

在 2.1 版本中添加。

LLVM TableGen DSL 的词法分析器

class pygments.lexers.tablegen.TableGenLexer
短名称:

tablegen, td

文件名:

*.td

MIME 类型:

TableGen 的词法分析器

在版本 2.19 中添加。

Tact 的词法分析器

class pygments.lexers.tact.TactLexer
短名称:

tact

文件名:

*.tact

MIME 类型:

用于 Tact 源代码。

在版本 2.18 中添加。

Uxntal 的词法分析器

class pygments.lexers.tal.TalLexer
短名称:

tal, uxntal

文件名:

*.tal

MIME 类型:

text/x-uxntal

用于 Uxntal 源代码。

在版本 2.12 中添加。

TEAL 词法分析器

class pygments.lexers.teal.TealLexer
短名称:

teal

文件名:

*.teal

MIME 类型:

用于交易执行批准语言 (TEAL)

有关语法的更多信息,请参见:https://github.com/algorand/go-algorand/blob/master/data/transactions/logic/assembler.go

在 2.9 版本中添加。

用于各种模板引擎标记的词法分析器

class pygments.lexers.templates.Angular2HtmlLexer
短名称:

html+ng2

文件名:

*.ng2

MIME 类型:

Angular2Lexer 的子类,它使用 HtmlLexer 突出显示未经词法分析的数据。

在 2.0 版本中添加。

class pygments.lexers.templates.Angular2Lexer
短名称:

ng2

文件名:

MIME 类型:

通用 angular2 模板词法分析器。

仅突出显示 Angular 模板标签({{}} 之间的内容)和特殊属性:“(event)=”、“[property]=”、“[(twoWayBinding)]=”。其他所有内容留给委托词法分析器处理。

在 2.1 版本中添加。

class pygments.lexers.templates.CheetahHtmlLexer
短名称:

html+cheetah, html+spitfire, htmlcheetah

文件名:

MIME 类型:

text/html+cheetah, text/html+spitfire

CheetahLexer 的子类,它使用 HtmlLexer 突出显示未经词法分析的数据。

class pygments.lexers.templates.CheetahJavascriptLexer
短名称:

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

文件名:

MIME 类型:

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

CheetahLexer 的子类,它使用 JavascriptLexer 突出显示未经词法分析的数据。

class pygments.lexers.templates.CheetahLexer
短名称:

cheetah, spitfire

文件名:

*.tmpl, *.spt

MIME 类型:

application/x-cheetah, application/x-spitfire

通用 cheetah 模板词法分析器。不是 Cheetah 标记的代码将作为 Token.Other 生成。这也适用于 spitfire 模板,它们使用相同的语法。

class pygments.lexers.templates.CheetahXmlLexer
短名称:

xml+cheetah, xml+spitfire

文件名:

MIME 类型:

application/xml+cheetah, application/xml+spitfire

CheetahLexer 的子类,它使用 XmlLexer 突出显示未经词法分析的数据。

class pygments.lexers.templates.ColdfusionCFCLexer
短名称:

cfc

文件名:

*.cfc

MIME 类型:

Coldfusion 标记/脚本组件

在 2.0 版本中添加。

class pygments.lexers.templates.ColdfusionHtmlLexer
短名称:

cfm

文件名:

*.cfm, *.cfml

MIME 类型:

application/x-coldfusion

Coldfusion 标记在 html 中

class pygments.lexers.templates.ColdfusionLexer
短名称:

cfs

文件名:

MIME 类型:

Coldfusion 语句

class pygments.lexers.templates.CssDjangoLexer
短名称:

css+django, css+jinja

文件名:

*.css.j2, *.css.jinja2

MIME 类型:

text/css+django, text/css+jinja

DjangoLexer 的子类,它使用 CssLexer 突出显示未经词法分析的数据。

class pygments.lexers.templates.CssErbLexer
短名称:

css+ruby, css+erb

文件名:

MIME 类型:

text/css+ruby

ErbLexer 的子类,它使用 CssLexer 突出显示未经词法分析的数据。

class pygments.lexers.templates.CssGenshiLexer
短名称:

css+genshitext, css+genshi

文件名:

MIME 类型:

text/css+genshi

一个词法分析器,它突出显示 genshi 文本模板中的 CSS 定义。

class pygments.lexers.templates.CssPhpLexer
短名称:

css+php

文件名:

MIME 类型:

text/css+php

PhpLexer 的子类,它使用 CssLexer 突出显示不匹配的数据。

class pygments.lexers.templates.CssSmartyLexer
短名称:

css+smarty

文件名:

MIME 类型:

text/css+smarty

SmartyLexer 的子类,它使用 CssLexer 突出显示未经词法分析的数据。

class pygments.lexers.templates.DjangoLexer
短名称:

django, jinja

文件名:

MIME 类型:

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

通用 DjangoJinja 模板词法分析器。

它只突出显示预处理器指令之间的 django/jinja 代码,其他数据不会被词法分析器触碰。

class pygments.lexers.templates.ErbLexer
短名称:

erb

文件名:

MIME 类型:

application/x-ruby-templating

通用 ERB(Ruby 模板)词法分析器。

仅突出显示预处理器指令之间的 ruby 代码,其他数据不会被词法分析器触碰。

所有选项也将转发到 RubyLexer

class pygments.lexers.templates.EvoqueHtmlLexer
短名称:

html+evoque

文件名:

MIME 类型:

text/html+evoque

EvoqueLexer 的子类,它使用 HtmlLexer 突出显示未经词法分析的数据。

在 1.1 版本中添加。

class pygments.lexers.templates.EvoqueLexer
短名称:

evoque

文件名:

*.evoque

MIME 类型:

application/x-evoque

用于使用 Evoque 模板系统。

在 1.1 版本中添加。

class pygments.lexers.templates.EvoqueXmlLexer
短名称:

xml+evoque

文件名:

MIME 类型:

application/xml+evoque

EvoqueLexer 的子类,它使用 XmlLexer 突出显示未经词法分析的数据。

在 1.1 版本中添加。

class pygments.lexers.templates.GenshiLexer
短名称:

genshi, kid, xml+genshi, xml+kid

文件名:

*.kid

MIME 类型:

application/x-genshi, application/x-kid

一个词法分析器,它突出显示 genshikid kid XML 模板。

class pygments.lexers.templates.GenshiTextLexer
短名称:

genshitext

文件名:

MIME 类型:

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

一个词法分析器,它突出显示 genshi 文本模板。

class pygments.lexers.templates.HandlebarsHtmlLexer
短名称:

html+handlebars

文件名:

*.handlebars, *.hbs

MIME 类型:

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

HandlebarsLexer 的子类,它使用 HtmlLexer 突出显示未经词法分析的数据。

在 2.0 版本中添加。

class pygments.lexers.templates.HandlebarsLexer
短名称:

handlebars

文件名:

MIME 类型:

通用 handlebars 模板词法分析器。

仅突出显示 Handlebars 模板标签({{}} 之间的内容)。其他所有内容留给委托词法分析器处理。

在 2.0 版本中添加。

class pygments.lexers.templates.HtmlDjangoLexer
短名称:

html+django, html+jinja, htmldjango

文件名:

*.html.j2, *.htm.j2, *.xhtml.j2, *.html.jinja2, *.htm.jinja2, *.xhtml.jinja2

MIME 类型:

text/html+django, text/html+jinja

DjangoLexer 的子类,它使用 HtmlLexer 突出显示未经词法分析的数据。

嵌套的 Javascript 和 CSS 也被突出显示。

class pygments.lexers.templates.HtmlGenshiLexer
短名称:

html+genshi, html+kid

文件名:

MIME 类型:

text/html+genshi

一个词法分析器,它突出显示 genshikid kid HTML 模板。

class pygments.lexers.templates.HtmlPhpLexer
短名称:

html+php

文件名:

*.phtml

MIME 类型:

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

继承自 PhpLexer,使用 HtmlLexer 高亮显示未处理的数据。

嵌套的 Javascript 和 CSS 也被突出显示。

class pygments.lexers.templates.HtmlSmartyLexer
短名称:

html+smarty

文件名:

MIME 类型:

text/html+smarty

继承自 SmartyLexer,使用 HtmlLexer 高亮显示未解析的数据。

嵌套的 Javascript 和 CSS 也被突出显示。

class pygments.lexers.templates.JavascriptDjangoLexer
短名称:

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

文件名:

*.js.j2, *.js.jinja2

MIME 类型:

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

继承自 DjangoLexer,使用 JavascriptLexer 高亮显示未解析的数据。

class pygments.lexers.templates.JavascriptErbLexer
短名称:

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

文件名:

MIME 类型:

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

继承自 ErbLexer,使用 JavascriptLexer 高亮显示未解析的数据。

class pygments.lexers.templates.JavascriptGenshiLexer
短名称:

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

文件名:

MIME 类型:

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

一个高亮显示 genshi 文本模板中的 javascript 代码的词法分析器。

class pygments.lexers.templates.JavascriptPhpLexer
短名称:

javascript+php, js+php

文件名:

MIME 类型:

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

继承自 PhpLexer,使用 JavascriptLexer 高亮显示不匹配的数据。

class pygments.lexers.templates.JavascriptSmartyLexer
短名称:

javascript+smarty, js+smarty

文件名:

MIME 类型:

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

继承自 SmartyLexer,使用 JavascriptLexer 高亮显示未解析的数据。

class pygments.lexers.templates.JspLexer
短名称:

jsp

文件名:

*.jsp

MIME 类型:

application/x-jsp

Java Server Pages 的词法分析器。

在版本 0.7 中添加。

class pygments.lexers.templates.LassoCssLexer
短名称:

css+lasso

文件名:

MIME 类型:

text/css+lasso

继承自 LassoLexer,使用 CssLexer 高亮显示未处理的数据。

在 1.6 版本中添加。

class pygments.lexers.templates.LassoHtmlLexer
短名称:

html+lasso

文件名:

MIME 类型:

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

继承自 LassoLexer,使用 HtmlLexer 高亮显示未处理的数据。

嵌套的 JavaScript 和 CSS 也被高亮显示。

在 1.6 版本中添加。

class pygments.lexers.templates.LassoJavascriptLexer
短名称:

javascript+lasso, js+lasso

文件名:

MIME 类型:

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

继承自 LassoLexer,使用 JavascriptLexer 高亮显示未处理的数据。

在 1.6 版本中添加。

class pygments.lexers.templates.LassoXmlLexer
短名称:

xml+lasso

文件名:

MIME 类型:

application/xml+lasso

继承自 LassoLexer,使用 XmlLexer 高亮显示未处理的数据。

在 1.6 版本中添加。

class pygments.lexers.templates.LiquidLexer
短名称:

liquid

文件名:

*.liquid

MIME 类型:

Liquid 模板的词法分析器。

在 2.0 版本中添加。

class pygments.lexers.templates.MakoCssLexer
短名称:

css+mako

文件名:

MIME 类型:

text/css+mako

继承自 MakoLexer,使用 CssLexer 高亮显示未解析的数据。

在版本 0.7 中添加。

class pygments.lexers.templates.MakoHtmlLexer
短名称:

html+mako

文件名:

MIME 类型:

text/html+mako

继承自 MakoLexer,使用 HtmlLexer 高亮显示未解析的数据。

在版本 0.7 中添加。

class pygments.lexers.templates.MakoJavascriptLexer
短名称:

javascript+mako, js+mako

文件名:

MIME 类型:

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

继承自 MakoLexer,使用 JavascriptLexer 高亮显示未解析的数据。

在版本 0.7 中添加。

class pygments.lexers.templates.MakoLexer
短名称:

mako

文件名:

*.mao

MIME 类型:

application/x-mako

通用的 mako 模板词法分析器。不是 Mako 标记的代码被视为 Token.Other

在版本 0.7 中添加。

class pygments.lexers.templates.MakoXmlLexer
短名称:

xml+mako

文件名:

MIME 类型:

application/xml+mako

继承自 MakoLexer,使用 XmlLexer 高亮显示未解析的数据。

在版本 0.7 中添加。

class pygments.lexers.templates.MasonLexer
短名称:

mason

文件名:

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

MIME 类型:

application/x-mason

通用的 mason 模板词法分析器。从 Myghty 词法分析器中窃取。不是 Mason 标记的代码是 HTML。

在版本 1.4 中添加。

class pygments.lexers.templates.MyghtyCssLexer
短名称:

css+myghty

文件名:

MIME 类型:

text/css+myghty

继承自 MyghtyLexer,使用 CssLexer 高亮显示未解析的数据。

在版本 0.6 中添加。

class pygments.lexers.templates.MyghtyHtmlLexer
短名称:

html+myghty

文件名:

MIME 类型:

text/html+myghty

继承自 MyghtyLexer,使用 HtmlLexer 高亮显示未解析的数据。

在版本 0.6 中添加。

class pygments.lexers.templates.MyghtyJavascriptLexer
短名称:

javascript+myghty, js+myghty

文件名:

MIME 类型:

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

继承自 MyghtyLexer,使用 JavascriptLexer 高亮显示未解析的数据。

在版本 0.6 中添加。

class pygments.lexers.templates.MyghtyLexer
短名称:

myghty

文件名:

*.myt, autodelegate

MIME 类型:

application/x-myghty

通用的 myghty 模板词法分析器。不是 Myghty 标记的代码被视为 Token.Other

在版本 0.6 中添加。

class pygments.lexers.templates.MyghtyXmlLexer
短名称:

xml+myghty

文件名:

MIME 类型:

application/xml+myghty

继承自 MyghtyLexer,使用 XmlLexer 高亮显示未解析的数据。

在版本 0.6 中添加。

class pygments.lexers.templates.RhtmlLexer
短名称:

rhtml, html+erb, html+ruby

文件名:

*.rhtml

MIME 类型:

text/html+ruby

继承自 ERB 词法分析器,使用 html 词法分析器高亮显示未解析的数据。

嵌套的 Javascript 和 CSS 也被突出显示。

class pygments.lexers.templates.SmartyLexer
短名称:

smarty

文件名:

*.tpl

MIME 类型:

application/x-smarty

通用的 Smarty 模板词法分析器。

只高亮显示预处理器指令之间的 smarty 代码,词法分析器不会触碰其他数据。

class pygments.lexers.templates.SqlJinjaLexer
短名称:

sql+jinja

文件名:

*.sql, *.sql.j2, *.sql.jinja2

MIME 类型:

模板化的 SQL 词法分析器。

在版本 2.13 中添加。

class pygments.lexers.templates.SspLexer
短名称:

ssp

文件名:

*.ssp

MIME 类型:

application/x-ssp

Scalate Server Pages 的词法分析器。

在版本 1.4 中添加。

class pygments.lexers.templates.TeaTemplateLexer
短名称:

tea

文件名:

*.tea

MIME 类型:

text/x-tea

Tea 模板的词法分析器。

在版本 1.5 中添加。

class pygments.lexers.templates.TwigHtmlLexer
短名称:

html+twig

文件名:

*.twig

MIME 类型:

text/html+twig

继承自 TwigLexer,使用 HtmlLexer 高亮显示未解析的数据。

在 2.0 版本中添加。

class pygments.lexers.templates.TwigLexer
短名称:

twig

文件名:

MIME 类型:

application/x-twig

Twig 模板词法分析器。

它只高亮显示预处理器指令之间的 Twig 代码,词法分析器不会触碰其他数据。

在 2.0 版本中添加。

class pygments.lexers.templates.VelocityHtmlLexer
短名称:

html+velocity

文件名:

MIME 类型:

text/html+velocity

继承自 VelocityLexer,使用 HtmlLexer 高亮显示未解析的数据。

class pygments.lexers.templates.VelocityLexer
短名称:

velocity

文件名:

*.vm, *.fhtml

MIME 类型:

通用 Velocity 模板词法分析器。

只突出显示 velocity 指令 和 变量引用,词法分析器不会处理其他数据。

class pygments.lexers.templates.VelocityXmlLexer
短名称:

xml+velocity

文件名:

MIME 类型:

application/xml+velocity

继承自 VelocityLexer 的子类,用 XmlLexer 突出显示未经分析的数据。

class pygments.lexers.templates.XmlDjangoLexer
短名称:

xml+django, xml+jinja

文件名:

*.xml.j2, *.xml.jinja2

MIME 类型:

application/xml+django, application/xml+jinja

继承自 DjangoLexer 的子类,用 XmlLexer 突出显示未经分析的数据。

class pygments.lexers.templates.XmlErbLexer
短名称:

xml+ruby, xml+erb

文件名:

MIME 类型:

application/xml+ruby

继承自 ErbLexer 的子类,用 XmlLexer 突出显示预处理器指令之外的数据。

class pygments.lexers.templates.XmlPhpLexer
短名称:

xml+php

文件名:

MIME 类型:

application/xml+php

继承自 PhpLexer 的子类,用 XmlLexer 突出显示未处理的数据。

class pygments.lexers.templates.XmlSmartyLexer
短名称:

xml+smarty

文件名:

MIME 类型:

application/xml+smarty

继承自 SmartyLexer 的子类,用 XmlLexer 突出显示未经分析的数据。

class pygments.lexers.templates.YamlJinjaLexer
短名称:

yaml+jinja, salt, sls

文件名:

*.sls, *.yaml.j2, *.yml.j2, *.yaml.jinja2, *.yml.jinja2

MIME 类型:

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

继承自 DjangoLexer 的子类,用 YamlLexer 突出显示未经分析的数据。

常用于 Saltstack salt 状态。

在 2.0 版本中添加。

Tera Term 宏文件词法分析器

class pygments.lexers.teraterm.TeraTermLexer
短名称:

teratermmacro, teraterm, ttl

文件名:

*.ttl

MIME 类型:

text/x-teratermmacro

用于 Tera Term 宏源代码。

在 2.4 版本中添加。

用于测试语言的词法分析器

class pygments.lexers.testing.GherkinLexer
短名称:

gherkin, cucumber

文件名:

*.feature

MIME 类型:

text/x-gherkin

用于 Gherkin 语法。

在版本 1.2 中添加。

class pygments.lexers.testing.TAPLexer
短名称:

tap

文件名:

*.tap

MIME 类型:

用于测试任何协议 (TAP) 输出。

在 2.1 版本中添加。

用于各种文本格式的词法分析器

class pygments.lexers.textfmts.GettextLexer
短名称:

pot, po

文件名:

*.pot, *.po

MIME 类型:

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

Gettext 目录文件词法分析器。

在版本 0.9 中添加。

class pygments.lexers.textfmts.HttpLexer
短名称:

http

文件名:

MIME 类型:

HTTP 会话词法分析器。

在版本 1.5 中添加。

class pygments.lexers.textfmts.IrcLogsLexer
短名称:

irc

文件名:

*.weechatlog

MIME 类型:

text/x-irclog

IRC 日志词法分析器,采用 irssixchatweechat 样式。

class pygments.lexers.textfmts.KernelLogLexer
短名称:

kmsg, dmesg

文件名:

*.kmsg, *.dmesg

MIME 类型:

用于 Linux 内核日志 (“dmesg”) 输出。

在 2.6 版本中添加。

class pygments.lexers.textfmts.NotmuchLexer
短名称:

notmuch

文件名:

MIME 类型:

用于 Notmuch 电子邮件文本格式。

接受的附加选项

body_lexer

如果给出,则使用指定的词法分析器突出显示邮件正文的内容,否则根据正文内容进行猜测(默认值:None)。

在版本 2.5 中添加。

class pygments.lexers.textfmts.TodotxtLexer
短名称:

todotxt

文件名:

todo.txt, *.todotxt

MIME 类型:

text/x-todo

用于 Todo.txt 待办事项列表格式的词法分析器。

在 2.0 版本中添加。

用于定理证明语言的词法分析器

class pygments.lexers.theorem.CoqLexer
短名称:

coq

文件名:

*.v

MIME 类型:

text/x-coq

用于 Coq 定理证明器。

在版本 1.5 中添加。

class pygments.lexers.theorem.IsabelleLexer
短名称:

isabelle

文件名:

*.thy

MIME 类型:

text/x-isabelle

用于 Isabelle 证明助手。

在 2.0 版本中添加。

用于 ThingsDB 语言的词法分析器

class pygments.lexers.thingsdb.ThingsDBLexer
短名称:

ti, thingsdb

文件名:

*.ti

MIME 类型:

用于 ThingsDB 编程语言的词法分析器。

在 2.9 版本中添加。

用于 TL-b 的词法分析器

class pygments.lexers.tlb.TlbLexer
短名称:

tlb

文件名:

*.tlb

MIME 类型:

用于 TL-b 源代码。

用于 TLS 展示语言的词法分析器

class pygments.lexers.tls.TlsLexer
短名称:

tls

文件名:

MIME 类型:

TLS 展示语言,在 RFC 8446 中描述。

在版本 2.16 中添加。

用于排版数论的词法分析器

class pygments.lexers.tnt.TNTLexer
短名称:

tnt

文件名:

*.tnt

MIME 类型:

用于排版数论的词法分析器,如道格拉斯·霍夫施塔特在其著作《哥德尔、埃舍尔、巴赫》中所述。

在 2.7 版本中添加。

用于 RiverBed 的 TrafficScript (RTS) 语言的词法分析器

class pygments.lexers.trafficscript.RtsLexer
短名称:

trafficscript, rts

文件名:

*.rts

MIME 类型:

用于 Riverbed Stingray 流量管理器。

在 2.1 版本中添加。

用于 TypoScript 的词法分析器

class pygments.lexers.typoscript.TypoScriptCssDataLexer
短名称:

typoscriptcssdata

文件名:

MIME 类型:

词法分析器,用于在 css 块中突出显示标记、常量和寄存器。

在 2.2 版本中添加。

class pygments.lexers.typoscript.TypoScriptHtmlDataLexer
短名称:

typoscripthtmldata

文件名:

MIME 类型:

词法分析器,用于在 html 标签中突出显示标记、常量和寄存器。

在 2.2 版本中添加。

class pygments.lexers.typoscript.TypoScriptLexer
短名称:

typoscript

文件名:

*.typoscript

MIME 类型:

text/x-typoscript

用于 TypoScript 代码的词法分析器。

在 2.2 版本中添加。

Typst 语言的词法分析器

class pygments.lexers.typst.TypstLexer
短名称:

typst

文件名:

*.typ

MIME 类型:

text/x-typst

用于 Typst 代码。

接受的附加选项

start

指定词法分析器的起始状态(“markup”、“math”、“code” 之一)。默认值为“markup”。

在版本 2.18 中添加。

UL4 模板语言的词法分析器

class pygments.lexers.ul4.CSSUL4Lexer
短名称:

css+ul4

文件名:

*.cssul4

MIME 类型:

用于嵌入 CSS 的 UL4 的词法分析器。

class pygments.lexers.ul4.HTMLUL4Lexer
短名称:

html+ul4

文件名:

*.htmlul4

MIME 类型:

用于嵌入 HTML 的 UL4 的词法分析器。

class pygments.lexers.ul4.JavascriptUL4Lexer
短名称:

js+ul4

文件名:

*.jsul4

MIME 类型:

用于嵌入 Javascript 的 UL4 的词法分析器。

class pygments.lexers.ul4.PythonUL4Lexer
短名称:

py+ul4

文件名:

*.pyul4

MIME 类型:

用于嵌入 Python 的 UL4 的词法分析器。

class pygments.lexers.ul4.UL4Lexer
短名称:

ul4

文件名:

*.ul4

MIME 类型:

用于 UL4 的通用词法分析器。

在版本 2.12 中添加。

class pygments.lexers.ul4.XMLUL4Lexer
短名称:

xml+ul4

文件名:

*.xmlul4

MIME 类型:

用于嵌入 XML 的 UL4 的词法分析器。

Icon 和 Unicon 语言(包括 ucode VM)的词法分析器

class pygments.lexers.unicon.IconLexer
短名称:

icon

文件名:

*.icon, *.ICON

MIME 类型:

用于 Icon 的词法分析器。

在 1.6 版本中添加。

class pygments.lexers.unicon.UcodeLexer
短名称:

ucode

文件名:

*.u, *.u1, *.u2

MIME 类型:

用于 Icon ucode 文件的词法分析器。

在 2.4 版本中添加。

class pygments.lexers.unicon.UniconLexer
短名称:

unicon

文件名:

*.icn

MIME 类型:

text/unicon

用于 Unicon 源代码。

在 2.4 版本中添加。

UrbiScript 语言的词法分析器

class pygments.lexers.urbi.UrbiscriptLexer
短名称:

urbiscript

文件名:

*.u

MIME 类型:

application/x-urbiscript

用于 UrbiScript 源代码。

在版本 1.5 中添加。

解析 Pixar 的通用场景描述文件格式的模块

class pygments.lexers.usd.UsdLexer
短名称:

usd, usda

文件名:

*.usd, *.usda

MIME 类型:

解析 Pixar 的通用场景描述文件格式的词法分析器。

在 2.6 版本中添加。

Varnish 配置的词法分析器

class pygments.lexers.varnish.VCLLexer
短名称:

vcl

文件名:

*.vcl

MIME 类型:

text/x-vclsrc

用于 Varnish 配置语言 (VCL)。

在 2.2 版本中添加。

class pygments.lexers.varnish.VCLSnippetLexer
短名称:

vclsnippets, vclsnippet

文件名:

MIME 类型:

text/x-vclsnippet

用于 Varnish 配置语言代码片段。

在 2.2 版本中添加。

用于中间验证语言 (IVL) 的词法分析器

class pygments.lexers.verification.BoogieLexer
短名称:

boogie

文件名:

*.bpl

MIME 类型:

用于 Boogie 源代码。

在 2.1 版本中添加。

class pygments.lexers.verification.SilverLexer
短名称:

silver

文件名:

*.sil, *.vpr

MIME 类型:

用于 Silver 源代码。

在 2.2 版本中添加。

用于 Verifpal 语言的词法分析器

class pygments.lexers.verifpal.VerifpalLexer
短名称:

verifpal

文件名:

*.vp

MIME 类型:

text/x-verifpal

用于 Verifpal 代码。

在版本 2.16 中添加。

用于 Visual Prolog 和语法文件的词法分析器

class pygments.lexers.vip.VisualPrologGrammarLexer
短名称:

visualprologgrammar

文件名:

*.vipgrm

MIME 类型:

用于 VisualProlog 语法的词法分析器

在 2.17 版本中添加。

class pygments.lexers.vip.VisualPrologLexer
短名称:

visualprolog

文件名:

*.pro, *.cl, *.i, *.pack, *.ph

MIME 类型:

用于 VisualProlog 的词法分析器

在 2.17 版本中添加。

用于 Vyper 智能合约语言的词法分析器

class pygments.lexers.vyper.VyperLexer
短名称:

vyper

文件名:

*.vy

MIME 类型:

用于 Vyper 智能合约语言。

在 2.17 版本中添加。

用于 WebAssembly 文本格式的词法分析器

class pygments.lexers.webassembly.WatLexer
短名称:

wast, wat

文件名:

*.wat, *.wast

MIME 类型:

用于 WebAssembly 文本格式的词法分析器。

在 2.9 版本中添加。

用于 Web IDL(包括一些扩展)的词法分析器

class pygments.lexers.webidl.WebIDLLexer
短名称:

webidl

文件名:

*.webidl

MIME 类型:

用于 Web IDL。

在 2.6 版本中添加。

用于各种 Web 内容的词法分析器

class pygments.lexers.webmisc.CirruLexer
短名称:

cirru

文件名:

*.cirru

MIME 类型:

text/x-cirru

  • 使用 () 表示表达式,但限制在同一行

  • 使用 "" 表示字符串,使用 \ 转义字符

  • 使用 $ 作为折叠运算符

  • 使用 , 作为展开运算符

  • 使用缩进表示嵌套块

在 2.0 版本中添加。

class pygments.lexers.webmisc.DuelLexer
短名称:

duel, jbst, jsonml+bst

文件名:

*.duel, *.jbst

MIME 类型:

text/x-duel, text/x-jbst

用于 Duel Views Engine(以前称为 JBST)标记语言,带 JavaScript 代码块的词法分析器。

在版本 1.4 中添加。

class pygments.lexers.webmisc.QmlLexer
短名称:

qml, qbs

文件名:

*.qml, *.qbs

MIME 类型:

application/x-qml, application/x-qt.qbs+qml

用于 QML 文件的词法分析器。

在 1.6 版本中添加。

class pygments.lexers.webmisc.SlimLexer
短名称:

slim

文件名:

*.slim

MIME 类型:

text/x-slim

用于 Slim 标记语言的词法分析器。

在 2.0 版本中添加。

class pygments.lexers.webmisc.XQueryLexer
短名称:

xquery, xqy, xq, xql, xqm

文件名:

*.xqy, *.xquery, *.xq, *.xql, *.xqm

MIME 类型:

text/xquery, application/xquery

XQuery 词法分析器,解析流并输出突出显示 xquery 代码所需的标记。

在版本 1.4 中添加。

用于 WebGPU 着色语言的词法分析器

class pygments.lexers.wgsl.WgslLexer
短名称:

wgsl

文件名:

*.wgsl

MIME 类型:

text/wgsl

用于 WebGPU 着色语言的词法分析器。

在版本 2.15 中添加。

用于 Whiley 语言的词法分析器

class pygments.lexers.whiley.WhileyLexer
短名称:

whiley

文件名:

*.whiley

MIME 类型:

text/x-whiley

用于 Whiley 编程语言的词法分析器。

在 2.2 版本中添加。

用于 World of Warcraft TOC 文件的词法分析器

class pygments.lexers.wowtoc.WoWTocLexer
短名称:

wowtoc

文件名:

*.toc

MIME 类型:

用于 World of Warcraft TOC 文件的词法分析器。

在 2.14 版本中添加。

用于 Wren 的词法分析器

class pygments.lexers.wren.WrenLexer
短名称:

wren

文件名:

*.wren

MIME 类型:

用于 Wren 源代码,版本 0.4.0。

在 2.14 版本中添加。

用于 X10 编程语言的词法分析器

class pygments.lexers.x10.X10Lexer
短名称:

x10, xten

文件名:

*.x10

MIME 类型:

text/x-x10

用于 X10 语言。

在 2.2 版本中添加。

用于 Xorg 配置的词法分析器

class pygments.lexers.xorg.XorgLexer
短名称:

xorg.conf

文件名:

xorg.conf

MIME 类型:

用于 xorg.conf 文件的词法分析器。

用于 YANG 1.1 建模语言的词法分析器。参见 RFC 7950

class pygments.lexers.yang.YangLexer
短名称:

yang

文件名:

*.yang

MIME 类型:

application/yang

用于 YANG 的词法分析器,基于 RFC7950。

在 2.7 版本中添加。

用于 YARA 的词法分析器

class pygments.lexers.yara.YaraLexer
短名称:

yara, yar

文件名:

*.yar

MIME 类型:

text/x-yara

用于 YARA 规则

在版本 2.16 中添加。

用于 Zig 的词法分析器

class pygments.lexers.zig.ZigLexer
短名称:

zig

文件名:

*.zig

MIME 类型:

text/zig

用于 Zig 语言的词法分析器。

语法:https://ziglang.org/documentation/master/#Grammar

遍历所有词法分析器

在版本 0.6 中添加。

要获取所有词法分析器(包括内置和插件词法分析器),可以使用 pygments.lexers 模块中的 get_all_lexers() 函数

>>> 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+ruby', 'xml+erb'), (), ())

如您所见,返回值是一个迭代器,它生成形式为 (name, aliases, filetypes, mimetypes) 的元组。