Pygments 变更日志

2.4.2 之前的拉取请求编号没有链接,因为它们引用的是现已停用的 Bitbucket 项目。

版本 2.19.0

(未发布)

  • 新的词法分析器

  • 更新的词法分析器

    • C#: 修复数字高亮 (#986, #2727), 添加 file 关键字 (#2726), 添加各种其他关键字 (#2745, #2770)

    • Debian 控制: 添加 Change-By 字段 (#2757)

    • Elip: 改善标点符号处理 (#2651)

    • Ini: 修复带有嵌入式注释字符的引号字符串 (#2767, #2720)

    • Java: 支持返回值类型包含问号的函数 (#2737)

    • JavaScript: 支持私有标识符 (#2729, #2671)

    • PostgreSQL: 添加更多 EXPLAIN 关键字 (#2785)

    • S-Lexer: 修复关键字 (#2082, #2750)

    • TransactSQL: 修复单行注释 (#2717)

    • Typst: 各种改进 (#2724)

    • Vyper: 添加 staticcallextcall (#2719)

  • HTML/XML+Evoque 的文件扩展名标记为别名 (#2743)

  • rrt 样式中添加 Operator.Word 的颜色 (#2709)

版本 2.18.0

(于 2024 年 5 月 4 日发布)

  • 新的词法分析器

  • 更新的词法分析器

    • Awk: 识别三元运算符 (#2687)

    • Bash: 添加 openrc 别名 (#2599, #2371)

    • Coq: 添加关键字,解析更多口语化命令参数,在标题注释中生成更少的令牌 (#2678)

    • DNS 区域文件: 修复注释解析 (#2595)

    • Hy: 支持 Unicode 字面量 (#1126)

    • Inform6: 更新至 Inform 6.42 (#2644)

    • lean: 修复名称处理 (#2614)

    • Logtalk: 添加 uninstantiation 关键字并识别转义序列 (#2619)

    • Macaulay2: 更新至 1.23 (#2655)

    • Python: 修复 None/True/False 之前软关键字的高亮显示

    • reStructuredText: 对注释使用 Token.Comment 而不是 Comment.Preproc (#2598)

    • Rust: 将 :, ::-> 作为 Punctuation,并将空格作为 Whitespace 高亮显示,而不是在这两种情况下都作为 Text (#2631)

    • Spice: 添加关键字 (#2621)

    • SQL 解释: 允许负数 (#2610)

    • Swift: 支持多行字符串 (#2681)

    • ThingsDB: 添加常量和新函数;支持模板字符串 (#2624)

    • UL4: 支持嵌套的 <?doc?><?note?> 标记 (#2597)

    • VHDL: 支持 VHDL-2008 的多行注释 (#2622)

    • Wikitext: 在 variant_langs 中删除 kk-* (#2647)

    • Xtend: 添加 valvar (#2602)

  • 新的样式

  • 使图像格式化程序中的背景颜色与 Pillow 10.0 兼容 (#2623)

  • 需要 Python 3.8。因此,在 Python 3.7 上,快速插件发现不再需要 importlib-metadata 包。plugins 附加包(例如,pip install pygments[plugins])为向后兼容性而保留,但现在不再起作用。(#2601)

  • 需要 Pygments 内部的词法分析器的 url 属性,将其添加到许多词法分析器中 (#2588)

  • 用 Ruff 替换 Pyflakes linter (#2592)

  • 添加 macOS CI (#2594)

  • 内置词法分析器现在在一个必需的 version_added 词法分析器属性中声明了它们添加的 Pygments 版本,而不是在 docstring 中的 .. versionadded:: 指令 (#2589, #2634)

  • 内置词法分析器现在需要 url 属性,该属性已添加到所有现有词法分析器中 (#2588)

  • RTF 格式化程序现在支持行号和行高亮显示 (#1217, #2654)

  • 在 RTF 格式化程序中添加 \sa0 关键字 (#1111, #2607)

  • 注册 pycon 作为 Python 控制台词法分析器的别名 (#2697)

  • 添加 DesktopLexer 的 MIME 类型 (#2613)

  • 修复原生样式以符合 WCAG AA 指南 (#2600)

  • 修复文档中的错别字 (#2672)

  • 一致地使用格式字符串 (#2661)

  • 添加 __class_getitem__Formatter 以改进类型支持 (#2665)

版本 2.17.2

(发布日期:2023 年 11 月 21 日)

  • 修复 macOS 上的打包问题 (#2593)

版本 2.17.1

(发布日期:2023 年 11 月 19 日)

  • 更新的词法分析器

    • TOML:修复导致单引号字符串词法分析过于急切的错误

版本 2.17.0

(发布日期:2023 年 11 月 18 日)

  • 新的词法分析器

  • 更新的词法分析器

    • Cypher:修复注释匹配,添加缺少的关键字 (#2504)

    • Fortran:添加 elseif 关键字 (#2528)

    • Lean:使其可作为 lean3 使用,为可能切换到 Lean 4 的 lean 高亮做准备 (#2546)

    • JSON:为几种分行 JSON 格式添加 MIME 类型和文件扩展名 (#2490)

    • Nix:许多改进 (#2551, #1800)

    • OCaml:添加 and 关键字,从关键字中删除 value (#2521)

    • Python:添加 starlarkbazel 别名 (#2517, #2516)

    • Snowball:将 len 视为 size (#2508)

    • Spice:添加 panic 关键字和 -> 运算符 (#2510)

    • squid.conf:修复灾难性回溯 (#2583)

    • TOML:重写,包含许多修复 (#2576)

    • Turtle:支持空白节点 (#2581)

    • Wikitext:修复 LanguageConverter 标记的错误高亮,添加缺少的变体语言 (#2493, #2494)

    • CMake:支持 [=[ bracketed arguments ]=] (#2549)

  • 修复 ctags 支持和测试 (#2487)

  • 在文档中包含 Lexer.add_filter (#2519)

  • 添加 Lean3Lexer 别名 (#2546)

  • pygments.styles 模块包含一个新的 STYLES 变量,其中包含内置样式的字典。旧的 STYLE_MAP 变量使用不同的格式,为了向后兼容而保留。

  • 在 Windows 上,添加一个新的安装额外选项 (windows-terminal),它会引入彩色控制台输出的依赖项。有关更多详细信息,请参见 命令行界面。(#2505)

  • 支持 autopygmentize 脚本中的更多文件类型 (#2513)

  • 更改 rrt 样式中数字的颜色 (#2526)

  • 修复尝试通过输出格式的文件扩展名查找插件格式化程序时的错误 (#2563)

  • 使用 Hatchling 作为构建后端,而不是 setuptools。此更改对大多数用户来说是透明的。没有构建隔离的构建包分发者需要将 hatchling 添加为构建依赖项,并删除 setuptools。直接从 PyPI 下载源代码分发版和 wheels 的用户应该注意,他们现在在文件名中使用 pygments 而不是 Pygments。(#2573)

  • 改进测试框架,以便在处理代码片段和示例文件时也检查丢失的标记 (#2582.)

  • 改进 Dracula 样式定义,使其更容易维护 (#2575)

版本 2.16.1

(发布日期:2023 年 8 月 6 日)

  • 修复 native 样式在样式列表中缺失的问题 (#2484)

版本 2.16.0

(发布日期:2023 年 8 月 6 日)

  • 新的词法分析器

  • 更新的词法分析器

    • ASC:添加 application/pem-certificate-chain mimetype (#2471)

    • C/C++:细化关键字列表 (#2421, #2422)

    • Carbon:修复无效输入时的长时间处理,修复数字词法分析 (#2454, #2456)

    • Elpi:处理引号 (#2419)

    • Go:支持额外的内置函数 (#2481)

    • HTTP:支持空标题 (#2461),支持更通用的方法 (#2460),还在 analyse_text 实现中识别响应 (#2460),并高亮显示 URL 编码数据 (#2465, #1620)

    • Igor Pro:更新至 Igor Pro 9 (#2482)

    • lean:识别属性中嵌套的表达式 (#1817)

    • Macaulay2:更新内置函数 (#2457)

    • Markdown:允许代码块中的语言名称后面有额外的字符 (#2437)

    • NestedText:更新至版本 3 (#2459)

    • scdoc:改进语言猜测实现 (#2402)

    • Spice:更新至最新版本 (#2476)

    • Transact SQL:添加预排序组关键字 (#2417)

    • Uxntal:更新为当前符文 (#2424)

    • Wikitext:修复 wiki 链接中的模板;修复语言转换器误报;添加粗体斜体标记 (#2447)

  • 添加 Generic.EmphStrong 标记,用于粗体斜体标记 (#2444)

  • 添加 Lightbulb 样式 (#2474)

  • 提高 Monokai 样式的对比度 (#2448)

  • 添加关于如何创建终端代码高亮命令的文档 (#2131, #2425)

  • 添加对 ImageFormatter 加载 TrueType 字体的支持 (#1960)

版本 2.15.1

(发布日期:2023 年 4 月 18 日)

  • 更新的词法分析器

    • Java 属性:修复灾难性回溯 (#2356, #2404)

  • 修复 Python 控制台回溯词法分析过于严格,有时会重新排序输出的问题 (#2407, #2410, #2412)

版本 2.15.0

(发布日期:2023 年 4 月 10 日)

  • 添加的词法分析器

  • 更新的词法分析器

    • AMDGPU:添加对 scratch_ 指令、attr*.* 参数以及 off 修饰符的支持 (#2327).

    • APDL:各种改进 (#2314)

    • bash/tcsh

      • break 移至关键字 (#2377)

      • 改进 bash 数学扩展词法分析 (#2255, #2353)

    • Chapel:支持属性 (#2376)

    • CMake:实现方括号样式注释 (#2338, #2354)

    • CSS:改进函数调用中数字的词法分析 (#2382, #2383)

    • diff:支持普通 diff 语法,而不是统一 diff 语法 (#2321)

    • GLSL、HLSL

      • 支持预处理器代码中的行延续 (#2350)

      • 改进预处理器指令处理 (#2357)

    • LilyPond:内置函数的小更新

    • PHP:支持属性 (#2055, #2347, #2360),修复没有参数的匿名类 (#2359),改进对可变变量语法的词法分析 (#2358)

    • Python

      • 添加缺少的内置函数 (#2334)

      • 修复 None 的不一致词法分析 (#2406)

    • Rebol/Red:不要求脚本头 (#2348, #2349)

    • Spice:更新关键字 (#2336)

    • SQL+Jinja (analyse_text 方法):修复灾难性回溯 (#2355)

    • Terraform:添加 hcl 别名 (#2375)

  • 声明支持 Python 3.11 并放弃对 Python 3.6 的支持 (#2324).

  • 更新 native 样式以改善对比度 (#2325).

  • 更新 github-dark` 样式以匹配最新的 Primer 样式 (#2401)

  • 恢复一项更改,该更改使基于文件名猜测词法分析器在 Python 3.10 及更早版本上变慢 (#2328).

  • 修复一些地方,这些地方可能会无意中使用依赖于区域设置的编码而不是 UTF-8 (#2326).

  • 修复 Python 跟踪处理 (#2226, #2329).

  • Groff 格式化程序:对颜色定义进行排序以确保可重复性 (#2343)

  • 将项目元数据移至 pyproject.toml,删除 setup.pysetup.cfg (#2342)

  • 顶层 Makefile 已被删除。相反,所有开发快捷方式现在都已定义并通过 tox 运行。 doc 文件夹仍然包含一个 Makefile 作为 tox -e doc 的替代方案。

版本 2.14.0

(于 2023 年 1 月 1 日发布)

  • 添加的词法分析器

  • 更新的词法分析器

    • Abap:更新关键字 (#2281)

    • Alloy:更新为 Alloy 6 (#1963)

    • C 系列 (C、C++ 和许多其他)

      • 修复由于注释中的大括号导致块被错误识别为函数定义的问题 (#2210)

      • 改进函数定义的圆括号处理 (#2207, #2208)

    • C#:修复数字和运算符识别 (#2256, #2257)

    • CSound:更新内置函数 (#2268)

    • F#:添加 .fsx 文件扩展名 (#2282)

    • gas (GNU 汇编器):将大括号识别为标点符号 (#2230)

    • HTTP:添加 CONNECT 关键字 (#2242)

    • Inform 6:修复对属性和双精度数的词法分析 (#2214)

    • INI:允许不是它们自己行的注释 (#2217, #2161)

    • Java 属性:修复使用空格分隔的键的问题,支持以 ! 开头的注释和转义符,不再支持未记录的 ;// 注释 (#2241)

    • LilyPond:改进启发式方法,添加 \maxima 时长 (#2283)

    • LLVM:添加不透明指针类型 (#2269)

    • Macaulay2:更新关键字 (#2305)

    • 与 Minecraft 相关的词法分析器 (SNB 和 Minecraft 函数) 已移至 pygments.lexers.minecraft (#2276)

    • Nim:总体改进 (#1970)

    • Nix:修复缩进字符串中的单引号 (#2289)

    • Objective J:修复灾难性回溯 (#2225)

    • NASM:添加对 SSE/AVX/AVX-512 寄存器以及“rel”和“abs”地址运算符的支持 (#2212)

    • Powershell

      • 添加 local: 关键字 (#2254)

      • 允许不使用标记的延续 (#2262, #2263)

    • Solidity:添加布尔运算符 (#2292)

    • Spice:添加 enum 关键字并修复有关二进制、十六进制和八进制数字标记的错误 (#2227)

    • YAML:接受键名中的冒号 (#2277)

  • 修复 Pygments 未以可编辑模式安装时的 make mapfiles (#2223)

  • 支持 autopygmentize 中更多文件类型和压缩类型 (#2219)

  • 合并 Autohotkey、Clay 中的连续标记 (#2248)

  • 添加 .nasm 作为 NASM 的识别文件类型 (#2280)

  • 添加 *Spec.hs 作为 HSpec 的识别文件类型 (#2308)

  • 添加 *.pyi (用于类型存根文件) 作为 Python 的识别文件类型 (#2231)

  • HTML 词法分析器不再为空格发出空跨度 (#2304)

  • 修复 IRCFormatter 错误地插入行号 (#2270)

版本 2.13.0

(于 2022 年 8 月 15 日发布)

  • 添加的词法分析器

  • 更新的词法分析器

    • Ada:支持 Ada 2022 (#2121);禁用命名空间识别,因为它会干扰方面词法分析 (#2125)

    • Agda:允许模块名称中使用直引号 (#2163)

    • C 家族(C、C++ 和许多其他语言):允许函数头元素之间的注释,例如参数和主体起始大括号之间 (#1891)

    • C++:解决多个 Error 令牌的情况 (#2207, #2208)

    • Coq:添加一些常用关键字,改进对 Set 和限定标识符的识别 (#2158)

    • F*:允许在行中的任何位置使用 C 样式注释

    • Fortran:修复字符串中反斜杠导致的灾难性回溯 (#2194)

    • Go:添加对泛型的支持 (#2167)

    • Inform:更新至 6.40 版本 (#2190)

    • Isabelle:识别题词 (#2089)

    • Java:支持多行字符串,又称文本块 (#2132)

    • Kotlin:添加 value 修饰符 (#2142)

    • LilyPond:添加一些缺失的内置函数

    • Macaulay2:更新内置函数 (#2139)

    • Matlab 会话:修复当行延续省略号出现在输出中的回溯 (#2166)

    • .NET:添加 LibreOffice Basic、OpenOfficeBasic 和 StarOffice Basic 的别名 (#2170)

    • Nim:使用 Name.Builtin 而不是 Keyword.Type (#2136)

    • PHP:修复字符串中的 "$var" (#2105)

    • Python:只识别字符串字面量中的 \N\u\U 转义序列,但在字节字面量中不支持它们,因此不识别 (#2204)

    • Tcl:支持 ${name} 变量 (#2145)

    • Terraform:接受 << heredoc 定界符的前导空格 (#2162)

    • Teraterm:各种改进 (#2165)

    • Spice:添加对最近添加的功能的支持,包括更多内置函数以及 bin、oct、hex 数字格式 (#2206)

  • 添加样式

  • Pygments 现在尝试使用 importlib.metadata 模块来发现插件,而不是使用速度较慢的 pkg_resources (#2155)。特别是,这在很大程度上加快了 pygmentize 脚本的速度,前提是未指定词法分析器。

    importlib.metadata 仅在 Python 3.8 及更高版本中作为 Python 标准库的一部分提供。对于旧版本,PyPI 上存在一个 importlib_metadata 反向移植。出于这个原因,Pygments 现在定义了一个打包额外项 plugins,如果 Python 版本早于 3.8,则会添加对 importlib_metadata 的依赖。因此,为了即使在旧的 Python 版本中也能以最佳的插件支持安装 Pygments,你应该执行以下操作

    pip install pygments[plugins]
    

    如果未找到 importlib.metadataimportlib_metadata,Pygments 仍然会回退到 pkg_resources,但速度会更慢。

  • 在命令行界面中静默忽略 BrokenPipeError (#2193)。

  • HtmlFormatter 现在将 linespans 属性用于 anchorlinenos(如果 lineanchors 属性未设置)(#2026)。

  • highlightlexformat 函数不再在某些情况下错误地报告“参数必须是词法分析器/格式化程序实例,而不是类”,因为这不是实际问题 (#2123)。

  • 修复文档构建中的警告 (#2124)。

  • codetagify 过滤器现在默认情况下识别 FIXME 标记 (#2150)。

  • pygmentize 命令现在会识别 COLORTERM 环境变量是否设置为指示 true-color 支持可用的值。在这种情况下,它默认使用 TerminalTrueColorFormatter (#2160)

  • 删除文件名模式的冗余缓存 (#2153)

  • ImageFormatter 中使用新的非弃用 Pillow API 用于文本边界框 (#2198)

  • 删除 default_style (#930, #2183)

  • 在单元测试中停止将 DeprecationWarnings 视为错误 (#2196)

版本 2.12.0

(发布于 2022 年 4 月 24 日)

  • 添加的词法分析器

  • 更新的词法分析器

    • Agda:更新关键字列表 (#2017)

    • C 家族:修复 case 语句后的标识符 (#2084)

    • Clojure:突出显示比率 (#2042)

    • Csound:更新至 6.17 (#2064)

    • CSS:更新属性列表 (#2113)

    • Elpi

    • Futhark:添加缺失的令牌 (#2118)

    • Gherkin:添加 But (#2046)

    • Inform6:更新至 6.36 (#2050)

    • Jinja2:将 .xxx.j2.xxx.jinja2 添加到相关词法分析器(对于 xxx = htmlxml 等)(#2103)

    • JSON:在 JSON 中支持 C 注释 (#2049)。注意:这并不意味着 JSON 解析器现在支持 JSONC 或 JSON5,只是它在看到 /* */// 样式注释时不会出错。如果你需要正确的注释处理,请考虑使用 JavaScript 词法分析器。

    • LilyPond

      • 修复包含内置函数的名称的错误词法分析 (#2071)

      • 修复包含破折号的属性 (#2099)

    • PHP:更新内置函数和关键字列表 (#2054, #2056)

    • Python:突出显示 EncodingWarning (#2106)

    • Savi:修复下划线/私有标识符的突出显示,添加字符串插值 (#2102);修复嵌套类型名称的突出显示 (#2110)

    • Scheme:各种改进 (#2060)

    • Spice:更新关键字列表,添加新类型 (#2063, #2067)

    • Terraform

  • plugins 参数添加到 get_all_lexers()

  • 将最低 Python 版本提升至 3.6 (#2059)

  • 修复多个词法分析器将空格标记为 Text 的问题 (#2025)

  • 删除 re.UNICODE 的各种冗余使用 (#2058)

  • .resource 与 Robot 框架关联 (#2047)

  • .cljc 与 Clojure 关联 (#2043)

  • .tpp 与 C++ 关联 (#2031)

  • 从文档中删除 Python 2 的痕迹 (#2039)

  • native 样式已更新,以符合 WCAG AAA 对比度指南 (#2038)

  • 修复各种拼写错误 (#2030)

  • 修复 Groff 格式化程序未正确继承标记样式的问题 (#2024)

  • 对 CI 的各种改进 (#2036)

  • Ada 词法分析器已移至单独的文件 (#2117)

  • 当使用 linenos=table 时, <table> 本身现在用 <div class="highlight"> 标记包装,而不是将其放置在 <td class="code"> 单元格中 (#632)。通过此更改,输出与记录的行为匹配。

注意

如果您已子类化 HtmlFormatter.wrap,则可能需要调整逻辑。

版本 2.11.2

(发布日期:2022 年 1 月 6 日)

  • 更新的词法分析器

    • C 系列:修复对标签的错误处理 (#2022, #1996, #1182)

    • Java:修复了 record 关键字在某些情况下会导致 Error 标记的问题 (#2016, #2018)

  • 修复指向行号的链接无法正常工作的问题 (#2014)

  • Tango 主题中的 Whitespace 样式中删除 underline (#2020)

  • 修复 IRCTerminal256 格式化程序未为自定义标记类型正确回溯,导致某些标记未被格式化 (#1986)

版本 2.11.1

(发布日期:2021 年 12 月 31 日)

  • 更新的词法分析器

    • C 系列:处理具有多个标记的返回值类型(例如 unsigned int) (#2008)

    • JSON:修复导致 : 之前的空格导致 Error 标记的回归 (#2010)

    • SPICE:各种改进 (#2009)

版本 2.11.0

(发布日期:2021 年 12 月 30 日)

  • 添加的词法分析器

  • 更新的词法分析器

    • ABNF:允许单字符规则 (#1804)

    • 汇编:修复标记结束错误 (#1895, #1961)

    • Bibtex:区分 commentcommentary (#1899, #1806)

    • C 系列:支持 unicode 标识符 (#1848)

    • CDDL:修复词法分析速度过慢的问题 (#1959)

    • Debian 控制:添加缺少的字段 (#1946)

    • 设备树:识别节点的十六进制地址 (#1949)

    • GDScript:添加 void 数据类型 (#1948)

    • GSQL

      • 修复注释处理 (#2002)

      • 修复灾难性回溯 (#2006)

    • HTML、XML:改进注释处理 (#1896)

    • Java:添加 yield (#1941) 和密封类/记录 (#1902)

    • Makefiles (#1860, #1898)

    • objdump-nasm:改进对 --no-show-raw-insn 转储的处理 (#1981)

    • Prolog:支持在引号字符串内转义的 \ (#1479)

    • Python

    • RobotFramework:改进空括号处理 (#1921, #1922)

    • Terraform

      • 添加 “set” 类型 (#1909)

      • 支持 heredocs (#1909)

  • 添加样式

注意

所有新样式不幸都无法符合 WCAG 建议。

  • 现在已到位用于改进样式可访问性的新基础设施。默认样式已更新,以符合 WCAG 建议。现在默认情况下会检查所有样式是否具有足够的对比度,以防止出现回归。(#1919, #1937, #1938, #1940)

  • 清理未使用的导入 (#1887)

  • 修复多个词法分析器生成重复的单字符标记

  • 修复多个词法分析器将空格标记为 Text 的问题 (#1237, #1905, #1908, #1914, #1911, #1923, #1939, #1957, #1978)

  • 删除 Paraiso 样式中的重复赋值 (#1934)

  • pygmentize 现在支持各种列表函数的 JSON 输出,使其更易于从脚本中使用。(#1437, #1890)

  • kshrc 文件使用 shell 词法分析器 (#1947)

  • Vagrantfile 文件使用 ruby 词法分析器 (#1936)

  • .xbm.xpm 文件使用 C 词法分析器 (#1802)

  • 添加 groff 格式化程序 (#1873)

  • 更新文档 (#1928)

  • 行锚现在链接到自身 (#1973)

  • 添加对 Python 3.10 的正式支持 (#1917)

  • 修复深色样式中缺少的几种颜色:Gruvbox 深色、Monokai、Rrt、Sas、Strata 深色 (#1955)

  • 将更多文件类型与 man 页面关联

  • HtmlFormatter 现在可以为每个标记发出工具提示,以简化词法分析器的调试 (#1822)

  • 添加 f90 作为 fortran 的别名 (#2000)

版本 2.10.0

(发布日期:2021 年 8 月 15 日)

  • 添加的词法分析器

  • 更新的词法分析器

  • 修复 TNT 词法分析器中的断言语句。

  • 所有词法分析器中的令牌类型已统一(使用最常见的令牌类型名称) (#1816, #1819)

  • 改进 Jasmin 最小分数分析 (#1619)

  • 添加 Go 文件的新别名 (#1827)

  • 修复多行控制台突出显示 (#1833)

  • 添加一个新的简单词法分析器,它将所有内容输出为Text.Generic.Output (#1835, #1836)

  • systemd文件使用.ini词法分析器 (#1849)

  • 修复与words()相关的FutureWarning (#1854)

  • pwsh现在被识别为 PowerShell 的别名 (#1876)

版本 2.9.0

(发布日期:2021 年 5 月 3 日)

  • 添加的词法分析器

  • 更新的词法分析器

  • 添加 Pango 格式化程序 (#1727)

  • Autopygmentize 首先使用file而不是pygments -N (#1786)

  • 修复链接 (#1716)

  • 修复 LaTeX 格式化程序和minted的问题 (#1734, #1735, #1736, #1737)

  • 改进别名顺序 (#1780)

  • 改进行号颜色 (#1779, #1778)

  • 修复 CTag 相关问题 (#1724)

  • 识别.leex为 Elixir 模板

  • 修复访问不正确变量的问题 (#1748)

  • 在 HTML 格式化程序中更新了filename处理,如果linenos=’table’ (#1757)

    • 以前,文件名会在包含代码的<td>内但<pre>之外发出。这将不可避免地破坏与行号的对齐。

    • 现在,如果指定了filename,则在表格内容之前会发出一个单独的<tr>,其中包含一个具有colspan=2<th>,因此它跨越行号和代码列。文件名仍然在<span class=”filename”>…</span>内,因此任何现有样式都应该仍然适用,尽管 CSS 路径可能需要更改。

    • 有关新输出格式的示例,请参见tests/html_linenos_expected_output/目录中的table_cls_step_1_start_1_special_0_noanchor_filename.html

    • 有关更多详细信息和讨论,请参见问题https://github.com/pygments/pygments/issues/1757

  • 添加样式

    • Gruvbox 浅色+深色 (#1763)

版本 2.8.0

(发布日期:2021 年 2 月 14 日)

  • 添加的词法分析器

  • 更新的词法分析器

    • AutoIt:支持单引号字符串 (#1667, #1663)

    • C/C++ 及相关:修复*/的错误处理 (#1695)

    • Cocoa:添加内置类型 (#1703)

    • Console (#1672)

    • Eiffel:修复性能问题 (#1658)

    • Fortran:改进组合关键字检测 (#1677, #1188)

    • J:修复运算符?的词法分析 (#1700, #1149)

    • JavaScript/TypeScript:修复反引号字符串中的转义 (#1679, #1686)

    • Kotlin:改进字符串插值、修饰符关键字处理以及各种小问题 (#1699)

    • LESS:支持单行注释 (#1046)

    • Matlab

      • 添加对类属性的支持 (#1466)

      • 更新内置函数 (#1705)

      • 各种清理 (#1673)

    • OpenEdge (#1696)

    • Python:改进对原始 f 字符串的处理 (#1681, #1683)

    • Ruby:更好的方法名称处理 (#1531)

    • Stata:更新关键字 (#1470)

  • 添加样式

  • pygmentize脚本现在使用argparse,所有选项都应该像以前一样工作

  • 添加pygmentize -C选项以从内容中猜测词法分析器

  • 随着此版本的发布,Pygments 迁移到一个新的内部测试系统 (#1649.) 有关详细信息,请参见Contributing.md。此更改的主要优势是所有现有示例词法分析器的测试覆盖率大幅提高。它还使添加新的测试片段变得更加容易。

  • 使猜测优先选择 Python 3 词法分析器

  • 如果没有理由,不要猜测 MIME 或 SQL

  • 将 setuptools 更改为通过setup.cfg使用声明性配置。构建 Pygments 现在需要 setuptools 39.2+。

  • 将 markdown 添加到 MarkdownLexer 别名 (#1687)

  • 更改行号处理

    • <table> 为基础的输出中,td.linenos 元素将具有normalspecial 类别附加。之前,只有 special 行号获得了类别。这防止了样式被应用两次 - 一次通过 <pre>,一次通过 <span class="special">。这也意味着 td.linenos pre 不再被样式化,而是使用 td.linenos .normaltd.linenos .special

    • 在“内联”样式中,DOM 元素顺序发生了改变。行号首先被添加,然后行被高亮器包裹。这修复了行没有被完全高亮的问题。

    • 内联和非内联行号和高亮,以及基于类和内联样式的视觉输出现在是一致的。

    • 默认情况下,行号样式设置为 background-color: transparentcolor: inherit。这在没有为行号设置颜色的深色样式中效果更好。

  • 从 RawTokenLexer 中移除“raw”别名,因此它不能通过别名选择。

  • 修复 RawTokenLexer 以在 Python 3 中工作并处理异常。

  • 在 Solarized 主题中添加提示颜色 (#1529)

  • 图像格式器现在支持背景颜色 (#1374)

  • 添加对内联行号的锚点支持 (#1591)

  • 使用 pyupgrade 现代化代码库 (#1622)

  • terminal256 格式器添加行号支持 (#1674, #1653)

  • 改进 analyze_textECL 的逻辑 (#1610)

  • 改进 analyze_textCBM Basic V2 的逻辑 (#1607)

  • 改进 LaTeX 格式器 (#1708, #1709)

版本 2.7.4

(发布日期:2021 年 1 月 12 日)

  • 更新的词法分析器

    • Apache 配置:改进对格式错误的标签的处理 (#1656)

    • CSS:添加对变量的支持 (#1633, #1666)

    • Crystal (#1650, #1670)

    • Coq (#1648)

    • Fortran:添加缺失的关键字 (#1635, #1665)

    • Ini (#1624)

    • JavaScript 和变体 (#1647 - 缺少正则表达式标志,#1651)

    • Markdown (#1623, #1617)

    • Shell

      • 将尾随空格作为提示的一部分进行词法分析 (#1645)

      • 添加缺失的 in 关键字 (#1652)

    • SQL - 修复关键字 (#1668)

    • Typescript:修复不正确的标点符号处理 (#1510, #1511)

  • 修复 SML 词法分析器中的无限循环 (#1625),CVE-2021-20270

  • 修复 JavaScript/TypeScript、Modula2 和许多其他词法分析器中的回溯字符串正则表达式 (#1637) CVE-2021-27291

  • 限制嵌套 Ruby heredocs 的递归 (#1638)

  • 修复一些用于猜测词法分析器的低效正则表达式。

  • 修复原始令牌词法分析器对 Unicode 的处理 (#1616)

  • 恢复 HTML 格式器中的私有 API 更改 (#1655) - 请注意,私有 API 仍会发生更改!

  • 修复由 Ben Caller/Doyensec 发现的几个指数/立方复杂度正则表达式 (#1675)

  • 修复不正确的 MATLAB 示例 (#1582)

感谢 Google 的 OSS-Fuzz 项目发现了许多这些错误。

版本 2.7.3

(发布日期:2020 年 12 月 6 日)

版本 2.7.2

(发布日期:2020 年 10 月 24 日)

  • 更新的词法分析器

  • 修复 Python 控制台/跟踪词法分析器中没有消息的自定义异常问题 (#1548)

  • 允许在 Mac/图像格式器上加载 ttc 字体 (#1223)

  • 改进各种词法分析器中的 analyze_text (#1549)

  • 删除强制行号垂直填充为 0 的 CSS 规则 (#1583, #1579)

  • 修复 TNTLexer 在遇到意外 EOL 时崩溃 (#1568, #1570)

  • regexlint 现在可以作为 tox 测试的一部分在本地运行 (#1557)

  • 修复错别字 (#1550, #1562)

  • 添加 Python 3.9 作为支持的版本 (#1554)

版本 2.7.1

(发布日期:2020 年 9 月 16 日)

  • 修复了 JSON 词法分析器中的一个回归 (#1544)

版本 2.7.0

(发布日期:2020 年 9 月 12 日)

版本 2.6.1

(发布日期:2020 年 3 月 8 日)

  • 此版本修复了打包问题。没有功能变更。

版本 2.6

(发布日期:2020 年 3 月 8 日)

  • 不再支持在 Python 2.x 上运行 Pygments。 (Python 2 词法分析器仍然存在。)

  • 添加的词法分析器

  • 更新的词法分析器

  • 256 色/真彩色终端格式化程序现在在样式中支持斜体属性 (#1288)

  • 支持 HTTP 2/3 标头 (#1308)

  • 支持 HTTP 标头中缺少的 reason (#1322)

  • Boogie/Silver:支持行延续和触发器,将合约关键字移动到单独的类别 (#1299)

  • GAS:支持 C 样式注释 (#1291)

  • 修复 S 词法分析器中的名称 (#1330, #1333)

  • 修复 Ada 中的数字字面量 (#1334)

  • .mjs 文件识别为 Javascript (#1392)

  • .eex 文件识别为 Elixir (#1387)

  • 修复 re.MULTILINE 的用法 (#1388)

  • 识别 pipenvpoetry 依赖项和锁定文件 (PR#1376)

  • 改进 Windows 上的字体搜索 (#1247)

  • 删除未使用的脚本块 (#1401)

版本 2.5.2

(发布日期:2019 年 11 月 29 日)

  • 修复与某些 setuptools 版本的兼容性问题 (PR#1316)

  • 修复 ReST 字段列表的词法分析 (PR#1279)

  • 修复将 Matlab 关键字词法分析为字段名称 (PR#1282)

  • 识别 Matlab 中的双引号字符串 (PR#1278)

  • 避免 Vim 词法分析器中缓慢的回溯 (PR#1312)

  • 修复 Scala 对类型的突出显示 (PR#1315)

  • 在 ReST 中更一致地突出显示字段列表 (PR#1279)

  • 修复在字段名称中突出显示 Matlab 关键字 (PR#1282)

  • 识别 Matlab 双引号字符串 (PR#1278)

  • 添加了一些 Terraform 关键字

  • 将 Modelica 词法分析器更新到 3.4

  • 更新 Crystal 示例

版本 2.5.1

(发布日期:2019 年 11 月 26 日)

  • 此版本修复了打包问题。没有功能变更。

版本 2.5.0

(发布日期:2019 年 11 月 26 日)

  • 添加的词法分析器

  • 更新的词法分析器

  • 添加样式

  • PythonLexer 类现在是以前 Python3Lexer 的别名。旧的 PythonLexer 可作为 Python2Lexer 使用。对 PythonTracebackLexer 进行了相同的更改。现在,PythonConsoleLexerpython3 选项默认情况下为 true。

  • .asm 文件提升 NasmLexer 优先级,高于 TasmLexer(修复了 #1326

  • ImageFormatter 中的默认字体已更新 (#928, PR#1245)

  • 测试套件已切换到 py.test,删除了 nose 依赖项 (#1490)

  • 降低 TeraTerm 词法分析器得分 - 它以前几乎可以匹配所有语言 (#1256)

  • Skylark/Starlark 文件视为 Python 文件 (PR#1259)

  • 图像格式化程序:实际遵守 line_number_separator 选项

  • 在轮盘构建中添加 LICENSE 文件

  • Agda:修复 lambda 高亮显示

  • Dart:支持 @ 注解

  • Dockerfile:接受 FROM ... AS 语法

  • Emacs Lisp:添加更多字符串函数

  • GAS:接受指令参数中的寄存器

  • Java:将结构化标点符号(大括号、括号、冒号、逗号)设为 Punctuation,而不是 Operator (#987)

  • Java:支持 var 上下文关键字 (#1101)

  • Matlab:修复 function 关键字的识别 (PR#1271)

  • Python:识别 .jy 文件名 (#976)

  • Python:识别 f 字符串前缀 (#1156)

  • Ruby:支持波浪形 heredocs

  • Shell 会话:识别 Virtualenv 提示 (PR#1266)

  • Velocity:支持静默引用语法

版本 2.4.2

(发布日期:2019 年 5 月 28 日)

  • 修复使用给定 encoding 选项猜测词法分析器时的编码错误 (#1438)

版本 2.4.1

(发布日期:2019 年 5 月 24 日)

  • 更新的词法分析器

    • Coq (#1430)

    • MSDOS 会话 (PR#734)

    • NASM (#1517)

    • Objective-C (PR#813, #1508)

    • Prolog (#1511)

    • TypeScript (#1515)

  • 支持样式表中的 CSS 变量 (PR#814, #1356)

  • 修复 F# 词法分析器名称 (PR#709)

  • 修复 TerminalFormatter 对亮色文本使用粗体 (#1480)

版本 2.4.0

(发布日期:2019 年 5 月 8 日)

  • 添加的词法分析器

    • Augeas (PR#807)

    • BBC Basic (PR#806)

    • Boa (PR#756)

    • Charm++ CI (PR#788)

    • DASM16 (PR#807)

    • FloScript (PR#750)

    • FreeFem++ (PR#785)

    • Hspec (PR#790)

    • Pony (PR#627)

    • SGF (PR#780)

    • Slash (PR#807)

    • Slurm (PR#760)

    • Tera Term 语言 (PR#749)

    • TOML (PR#807)

    • Unicon (PR#731)

    • VBScript (PR#673)

  • 更新的词法分析器

    • Apache2 (PR#766)

    • Cypher (PR#746)

    • LLVM (PR#792)

    • Makefiles (PR#766)

    • PHP (#1482)

    • Rust

    • SQL (PR#672)

    • Stan (PR#774)

    • Stata (PR#800)

    • Terraform (PR#787)

    • YAML

  • 添加 solarized 样式 (PR#708)

  • 添加对 Markdown 引用样式链接的支持 (PR#753)

  • 在生成的 HTML/CSS 文件中添加许可信息 (#1496)

  • 更改 ANSI 颜色名称 (PR#777)

  • 修复 bash 词法分析器中的灾难性回溯 (#1494)

  • 修复使用 Sphinx 2.0 构建文档失败 (#1501)

  • 修复 Lisp 和 R 词法分析器文档中的错误链接 (PR#775)

  • 修复 Python 2.7 上的罕见 unicode 错误 (PR#798, #1492)

  • 修复词法分析器从空栈中弹出 (#1506)

  • TypoScript 现在使用 .typoscript (#1498)

  • 更新 Trove 分类器和 pip 要求 (PR#799)

版本 2.3.1

(发布日期:2018 年 12 月 16 日)

  • 更新的词法分析器

    • ASM (PR#784)

    • Chapel (PR#735)

    • Clean (PR#621)

    • CSound (PR#684)

    • Elm (PR#744)

    • Fortran (PR#747)

    • GLSL (PR#740)

    • Haskell (PR#745)

    • Hy (PR#754)

    • Igor Pro (PR#764)

    • PowerShell (PR#705)

    • Python (PR#720, #1299, PR#715)

    • SLexer (PR#680)

    • YAML (PR#762, PR#724)

  • 修复无效的字符串转义序列

  • 修复 Python 3.7 中正则表达式更改引入的 FutureWarning

版本 2.3.0

(发布日期:2018 年 11 月 25 日)

  • 添加的词法分析器

    • Fennel (PR#783)

    • HLSL (PR#675)

  • 更新的词法分析器

    • Dockerfile (PR#714)

  • 最低 Python 版本更改为 2.7 和 3.5

  • 添加对 Python 3.7 生成器更改的支持 (PR#772)

  • 修复 SCSS 中单引号字符串的错误令牌类型 (#1322)

  • 如果 TERM 包含 256,则使用 terminal256 格式化程序 (PR#666)

  • 修复 Markdown 中 GitHub 样式围栏的错误处理 (PR#741, #1389)

  • 修复 Python3 字符串中 %a 未突出显示 (PR#727)

版本 2.2.0

(发布日期:2017 年 1 月 22 日)

  • 添加的词法分析器

    • AMPL

    • TypoScript (#1173)

    • Varnish 配置 (PR#554)

    • Clean (PR#503)

    • WDiff (PR#513)

    • Flatline (PR#551)

    • Silver (PR#537)

    • HSAIL (PR#518)

    • JSGF (PR#546)

    • NCAR 命令语言 (PR#536)

    • Extempore (PR#530)

    • Cap’n Proto (PR#595)

    • Whiley (PR#573)

    • Monte (PR#592)

    • Crystal (PR#576)

    • Snowball (PR#589)

    • CapDL (PR#579)

    • NuSMV (PR#564)

    • SAS、Stata (PR#593)

  • 添加了使用 -x 命令行选项以及 lexers.load_lexer_from_file()formatters.load_formatter_from_file() 函数直接从文件加载词法分析器和格式化程序类别的功能。 (PR#559)

  • 添加了 lexers.find_lexer_class_by_name()。 (#1203)

  • 在 Python 和 PHP 中添加了新的令牌类型和对魔法方法和变量的词法分析。

  • 在 Python、C++ 和 Postgresql 词法分析器中添加了新的令牌类型以用于字符串前缀,并对其进行了词法分析。

  • 添加了新的令牌类型以用于 heredoc(以及类似的)字符串定界符,并在 C++、Perl、PHP、Postgresql 和 Ruby 词法分析器中对其进行了词法分析。

  • 样式现在可以使用 ANSI 颜色定义颜色,以便在 256 色终端格式化程序中使用。 (PR#531)

  • 改进了 CSS 词法分析器。 (#1083, #1130)

  • 添加了“彩虹小马”样式。 (PR#623)

  • 延迟加载 pkg_resources,这需要很长时间才能导入。 (PR#690)

版本 2.1.3

(发布日期:2016 年 3 月 2 日)

  • 修复了 Bash 词法分析器中的回归 (PR#563)

版本 2.1.2

(发布日期:2016 年 2 月 29 日)

  • 修复了图像格式化程序中 Python 3 回归 (#1215)

  • 修复了 Bash 词法分析器中的回归 (PR#562)

版本 2.1.1

(发布日期:2016 年 2 月 14 日)

  • 修复了 Jython 兼容性 (#1205)

  • 修复了 HTML 格式化程序输出中带有前导空行的输出 (#1111)

  • 添加了 LaTeX 编码的映射表,并添加了 utf8 (#1152)

  • 修复了 Mac 上的图像格式化程序字体搜索 (#1188)

  • 修复了 Token 实例的 deepcopy (#1168)

  • 修复了 Julia 字符串插值 (#1170)

  • 修复了 HttpLexer 在 get_tokens 调用之间的有状态性

  • 对各种词法分析器进行了许多较小的修复

版本 2.1

(发布日期:2016 年 1 月 17 日)

  • 添加的词法分析器

    • Emacs Lisp (PR#431)

    • Arduino (PR#442)

    • 带有多方言支持的 Modula-2 (#1090)

    • Fortran 固定格式 (PR#213)

    • 原型定义语言 (PR#483)

    • Terraform (PR#432)

    • Jcl、Easytrieve (PR#208)

    • ParaSail (PR#381)

    • Boogie (PR#420)

    • Turtle (PR#425)

    • Fish Shell (PR#422)

    • Roboconf (PR#449)

    • 测试任何协议 (PR#428)

    • Shen (PR#385)

    • 组件 Pascal (PR#437)

    • SuperCollider (PR#472)

    • Shell 控制台 (Tcsh、PowerShell、MSDOS) (PR#479)

    • Elm 和 J (PR#452)

    • Crmsh (PR#440)

    • Praat (PR#492)

    • CSound (PR#494)

    • Ezhil (PR#443)

    • Thrift (PR#469)

    • QVT 操作 (PR#204)

    • Hexdump (PR#508)

    • CAmkES 配置 (PR#462)

  • 添加样式

    • Lovelace (PR#456)

    • Algol 和 Algol-nu (#1090)

  • 添加了格式化程序

    • IRC (PR#458)

    • 真彩色(24 位)终端 ANSI 序列 (#1142)(格式化程序别名:“16m”)

  • HTML 格式化程序的新“文件名”选项 (PR#527)。

  • 改进了 HTML 格式化程序对长行的性能 (PR#504)。

  • 更新了 autopygmentize 脚本 (PR#445)。

  • 修复了 HTML 输出中非标准令牌类型的样式继承。

  • 添加了对 Python 3 词法分析器中的 async/await 的支持。

  • 重写了 TerminalFormatter 的 linenos 选项(它更好,但输出略有不同)(#1147)。

  • Javascript 词法分析器现在支持大多数 ES6 (#1100)。

  • 为 iOS 8.1 更新了 Cocoa 内置函数 (PR#433)。

  • 合并了 BashSessionLexer 和 ShellSessionLexer,新版本应支持任何一种的提示样式。

  • 添加了 pygmentize 选项,以便在出现异常时显示完整回溯。

  • 修复了 Windows 和 Python 3 上的输出不完整问题(例如,使用 iPython Notebook 时)(#1153)。

  • 在 Python 控制台词法分析器中允许更多回溯样式 (PR#253)。

  • 在 TypeScript 中添加了装饰器 (PR#509)。

  • 修复了某些 IRC 日志格式的突出显示问题 (#1076)。

版本 2.0.2

(发布日期:2015 年 1 月 20 日)

  • 修复了 Python 回溯在控制台词法分析器中重复的问题 (#1068)。

  • 反引号定界符现在在 F# 中被识别 (#1062)。

版本 2.0.1

(发布日期:2014 年 11 月 10 日)

  • 修复了使用 pygmentize-o 选项时的编码问题。

版本 2.0

(发布日期:2014 年 11 月 9 日)

  • 默认词法分析器编码现在为“guess”,即按顺序尝试 UTF-8/Locale/Latin1。

  • 对 Swift 词法分析器进行了重大更新 (PR#410)。

  • 对词法分析器猜测在冲突情况下的多个修复

    • 通过 doctype 识别 HTML5

    • 通过 XML 声明识别 XML

    • 不要将 C/C++ 识别为 SystemVerilog

  • 简化了正则表达式和内置列表。

版本 2.0rc1

(发布日期:2014 年 10 月 16 日)

  • 放弃了对 Python 2.4 和 2.5 的兼容性。这是为了支持 Python 2.6、2.7 和 3.3+ 之间的单源兼容性。

  • 新的网站和基于 Sphinx 的文档(终于!)

  • 添加了词法分析器

    • APL (#969)

    • Agda 和 Literate Agda (PR#203)

    • Alloy (PR#355)

    • AmbientTalk

    • BlitzBasic (PR#197)

    • ChaiScript (PR#24)

    • Chapel (PR#256)

    • Cirru (PR#275)

    • Clay (PR#184)

    • ColdFusion CFC (PR#283)

    • Cryptol 和 Literate Cryptol (PR#344)

    • Cypher (PR#257)

    • Docker 配置文件

    • EBNF (PR#193)

    • Eiffel (PR#273)

    • GAP (PR#311)

    • Golo (PR#309)

    • Handlebars (PR#186)

    • Hy (PR#238)

    • Idris 和 Literate Idris (PR#210)

    • Igor Pro (PR#172)

    • Inform 6/7 (PR#281)

    • Intel objdump (PR#279)

    • Isabelle (PR#386)

    • Jasmin (PR#349)

    • JSON-LD (PR#289)

    • Kal (PR#233)

    • Lean (PR#399)

    • LSL (PR#296)

    • Limbo (PR#291)

    • Liquid (#977)

    • MQL (PR#285)

    • MaskJS (PR#280)

    • Mozilla 预处理器

    • Mathematica (PR#245)

    • NesC (PR#166)

    • Nit (PR#375)

    • Nix (PR#267)

    • Pan

    • Pawn (PR#211)

    • Perl 6 (PR#181)

    • Pig (PR#304)

    • Pike (PR#237)

    • QBasic (PR#182)

    • Red (PR#341)

    • ResourceBundle (#1038)

    • Rexx (PR#199)

    • Rql (PR#251)

    • Rsl

    • SPARQL (PR#78)

    • Slim (PR#366)

    • Swift (PR#371)

    • Swig (PR#168)

    • TADS 3 (PR#407)

    • Todo.txt 待办事项列表

    • Twig (PR#404)

  • 添加了一个帮助程序来“优化”匹配多个文字词语的正则表达式;对于突出显示许多关键字或内置函数的词法分析器,这可以节省 20% 或更多的词法分析时间。

  • 新的样式:“xcode” 和 “igor”,类似于各自 IDE 的默认突出显示。

  • 命令行 “pygmentize” 工具现在更加努力地尝试为文件和终端找到正确的编码(#979)。

  • 为词法分析器添加了 “inencoding” 选项,类似于 “outencoding”,用于覆盖 “encoding”(#800)。

  • 为 pygmentize 添加了逐行 “流式” 模式,使用 “-s” 选项。(PR#165)仅对没有跨越行的结构的词法分析器完全有效!

  • 为 LaTeX 格式化程序添加了 “envname” 选项,用于选择替换 verbatim 环境(PR#235)。

  • 更新了 Makefile 词法分析器,以产生更有用的突出显示。

  • 传递给 get_lexer_by_name() 的词法分析器别名现在不区分大小写。

  • 词法分析器和格式化程序中的文件名匹配现在将使用正则表达式缓存来提高速度(PR#205)。

  • Pygments 现在将在根据内容推测文件词法分析器时识别 “vim” 模型线(PR#118)。

  • pygments.lexers 模块命名空间的主要重构。现在有更多模块,每个模块包含较少的词法分析器。旧模块仍然存在并重新导出它们以前包含的词法分析器。

  • NameHighlightFilter 现在适用于任何 Name.* token 类型(#790)。

  • Python 3 词法分析器:添加 PEP 3151 中的新异常。

  • Opa 词法分析器:添加新的关键字(PR#170)。

  • Julia 词法分析器:添加关键字和下划线分隔的数字字面量(PR#176)。

  • Lasso 词法分析器:修复方法突出显示,更新内置函数。修复猜测,以便普通 XML 不总是被视为 Lasso(PR#163)。

  • Objective C/C++ 词法分析器:允许 “@” 前缀任何表达式(#871)。

  • Ruby 词法分析器:修复 Name::Space token 的词法分析(#860)以及哈希中的符号的词法分析(#873)。

  • Stan 词法分析器:更新到语言的 2.4.0 版本(PR#162,PR#255,PR#377)。

  • JavaScript 词法分析器:添加 “yield” 关键字(PR#196)。

  • HTTP 词法分析器:支持 PATCH 方法(PR#190)。

  • Koka 词法分析器:更新到最新的语言规范(PR#201)。

  • Haxe 词法分析器:重写并支持 Haxe 3(PR#174)。

  • Prolog 词法分析器:添加不同类型的数字字面量(#864)。

  • F# 词法分析器:使用 F# 3.0 的最新规范重写(#842),修复带有点链的错误(#948)。

  • Kotlin 词法分析器:一般更新(PR#271)。

  • Rebol 词法分析器:修复注释检测和 analyse_text(PR#261)。

  • LLVM 词法分析器:将关键字更新到 v3.4(PR#258)。

  • PHP 词法分析器:添加新的关键字和二进制字面量(PR#222)。

  • external/markdown-processor.py 更新到最新的 python-markdown(PR#221)。

  • CSS 词法分析器:一些突出显示顺序修复(PR#231)。

  • Ceylon 词法分析器:修复嵌套多行注释的解析(#915)。

  • C 家族词法分析器:修复缩进预处理器指令的解析(#944)。

  • Rust 词法分析器:更新到 0.9 语言版本(PR#270,PR#388)。

  • Elixir 词法分析器:更新到 0.15 语言版本(PR#392)。

  • 修复 Python 控制台词法分析器中吞咽不完整的跟踪的错误(#874)。

版本 1.6

(发布日期:2013 年 2 月 3 日)

  • 添加了词法分析器

    • Dylan 控制台 (PR#149)

    • Logos (PR#150)

    • Shell 会话 (PR#158)

  • 修复猜测的词法分析器未接收词法分析器选项的错误(#838)。

  • 修复 Opa 中未引用的 HTML 属性词法分析的错误(#841)。

  • Dart 词法分析器的修复(PR#160)。

版本 1.6rc1

(发布日期:2013 年 1 月 9 日)

  • 添加了词法分析器

    • AspectJ (PR#90)

    • AutoIt (PR#122)

    • 类似于 BUGS 的语言 (PR#89)

    • Ceylon (PR#86)

    • Croc(MiniD 的新名称)

    • CUDA (PR#75)

    • Dg (PR#116)

    • IDL (PR#115)

    • Jags (PR#89)

    • Julia (PR#61)

    • Kconfig (#711)

    • Lasso (PR#95, PR#113)

    • LiveScript (PR#84)

    • Monkey (PR#117)

    • Mscgen (PR#80)

    • NSIS 脚本 (PR#136)

    • OpenCOBOL (PR#72)

    • QML (PR#123)

    • Puppet (PR#133)

    • Racket (PR#94)

    • Rdoc (PR#99)

    • Robot Framework (PR#137)

    • RPM 规范文件 (PR#124)

    • Rust (PR#67)

    • Smali(Dalvik 汇编)

    • SourcePawn (PR#39)

    • Stan (PR#89)

    • Treetop (PR#125)

    • TypeScript (PR#114)

    • VGL (PR#12)

    • Visual FoxPro (#762)

    • Windows 注册表 (#819)

    • Xtend (PR#68)

  • HTML 格式化程序现在支持使用 CTags 文件链接到标签,前提是安装了 python-ctags 包(PR#87)。

  • HTML 格式化程序现在具有 “linespans” 选项,该选项将每行包装在一个 <span> 标签中,并带有特定的 ID(PR#82)。

  • 从另一个词法分析器派生词法分析器时,使用 token 定义,子词法分析器中不存在的 state 的定义现在将被继承。如果在子词法分析器中覆盖了 state,则添加了一个 “inherit” 关键字,用于在该位置插入基本 state(PR#141)。

  • C 家族词法分析器现在从一个共同的基类继承 token 定义,消除了代码重复(PR#141)。

  • 在 Windows 上使用 “colorama” 用于控制台颜色输出(PR#142)。

  • 修复 Template Haskell 突出显示(PR#63)。

  • 修复一些 S/R 词法分析器错误(PR#91)。

  • 修复 Prolog 词法分析器中以 ‘is’ 开头的名称的错误(#810)。

  • 重写 Dylan 词法分析器,添加 Dylan LID 词法分析器(PR#147)。

  • 添加一个 Java 快速入门文档(PR#146)。

  • 添加一个 “external/autopygmentize” 文件,该文件可用作 .lessfilter(#802)。

版本 1.5

(代号 Zeitdilatation,发布日期:2012 年 3 月 10 日)

  • 添加了词法分析器

    • Awk (#630)

    • Fancy (#633)

    • PyPy 日志

    • eC

    • Nimrod

    • Nemerle (#667)

    • F# (#353)

    • Groovy (#501)

    • PostgreSQL (#660)

    • DTD

    • Gosu (#634)

    • Octave (PR#22)

    • Standard ML (PR#14)

    • CFengine3 (#601)

    • Opa (PR#37)

    • HTTP 会话 (PR#42)

    • JSON (PR#31)

    • SNOBOL (PR#30)

    • MoonScript (PR#43)

    • ECL (PR#29)

    • Urbiscript (PR#17)

    • OpenEdge ABL (PR#27)

    • SystemVerilog (PR#35)

    • Coq (#734)

    • PowerShell (#654)

    • Dart (#715)

    • Fantom (PR#36)

    • Bro (PR#5)

    • NewLISP (PR#26)

    • VHDL (PR#45)

    • Scilab (#740)

    • Elixir (PR#57)

    • Tea (PR#56)

    • Kotlin (PR#58)

  • 修复 Python 3 终端使用 pygmentize 时的突出显示错误(#691)。

  • 在 LaTeX 格式化程序中,转义特殊 &,< 和 > 字符(#648)。

  • 在 LaTeX 格式化程序中,修复具有 token 背景色的样式的显示问题(#670)。

  • 增强了 Squid conf 词法分析器(#664)。

  • 对 reStructuredText 词法分析器进行了几个修复(#636)。

  • 识别 ObjC 词法分析器中的方法(#638)。

  • 修复 Lua “class” 突出显示:它没有类(#665)。

  • 修复 Scala 词法分析器中的退化正则表达式(#671)和突出显示错误(#713,708)。

  • 修复 Ocaml 词法分析器中的数字模式顺序(#647)。

  • 修复 ActionScript 3 中的泛型类型突出显示(#666)。

  • 修复了 Clojure 词法分析器(PR#9)。

  • 修复 Nemerle 词法分析器中的退化正则表达式(#706)。

  • 修复 CoffeeScript 词法分析器中的无限循环(#729)。

  • 修复 ObjectiveC 词法分析器中的崩溃和分析(#693,#696)。

  • 添加一些 Fortran 2003 关键字。

  • 修复 Boo 字符串正则表达式(#679)。

  • 添加 “rrt” 样式(#727)。

  • 修复 Darcs Patch 词法分析器中的无限循环。

  • 许多针对许多不同词法分析器中的字符吞噬错误和顺序问题的杂项修复。

版本 1.4

(代号 Unschärfe,发布日期:2011 年 1 月 3 日)

  • 添加了词法分析器

    • Factor (#520)

    • PostScript (#486)

    • Verilog (#491)

    • BlitzMax Basic (#478)

    • Ioke (#465)

    • Java 属性,从 INI 词法分析器中分离出来(#445)

    • Scss (#509)

    • Duel/JBST

    • XQuery (#617)

    • Mason (#615)

    • GoodData (#609)

    • SSP (#473)

    • Autohotkey (#417)

    • Google Protocol Buffers

    • Hybris (#506)

  • 不要在 analyse_text 方法中失败(#618)。

  • HTML 格式化程序的性能改进(#523)。

  • 在 HTML 格式化程序中使用 noclasses 选项时,样式表中存在的一些样式未添加为内联样式。

  • 对 Lua 词法分析器进行了四个修复(#480,#481,#482,#497)。

  • 具有更多 i18n 翻译支持的上下文相关的 Gherkin 词法分析器。

  • 在 Matlab 词法分析器中支持新的 OO 关键字(#521)。

  • CoffeeScript 词法分析器中的一个小修复(#519)。

  • ocaml 字符串中反斜杠的错误修复(#499)。

  • 修复 Python 词法分析器中的 unicode/raw 文档字符串(#489)。

  • 允许 PIL 在没有 PIL.pth 的情况下工作(#502)。

  • 允许秒作为 CSS 中的单位(#496)。

  • 支持 application/javascript 作为 JavaScript MIME 类型(#504)。

  • 支持 Offload C++ 扩展作为 C++ 词法分析器中的关键字(#484)。

  • 在 LaTeX 输出中转义更多字符(#505)。

  • 将 Haml/Sass 词法分析器更新到版本 3(#509)。

  • PHP 词法分析器中的一个小字符串转义修复(#515)。

  • 支持预处理器指令之前的注释,以及 C/C++ 中的无符号/长长字面量(#613,#616)。

  • 支持 INI 词法分析器中的行延续(#494)。

  • 修复 Dylan 字符串和字符字面量的词法分析(#628)。

  • 修复 VB.NET 词法分析器中的类/过程名称突出显示(#624)。

版本 1.3.1

(错误修复版,发布日期:2010 年 3 月 5 日)

  • 发行版中缺少 pygmentize 脚本。

版本 1.3

(代号 Schneeglöckchen,发布日期:2010 年 3 月 1 日)

  • 添加了 ensurenl 词法分析器选项,该选项可用于抑制向词法分析器输入自动添加换行符。

  • 添加了词法分析器

    • Ada

    • Coldfusion

    • Modula-2

    • Haxe

    • R 控制台

    • Objective-J

    • Haml 和 Sass

    • CoffeeScript

  • 增强了 reStructuredText 突出显示。

  • 在 PHP 词法分析器中添加了对 PHP 5.3 命名空间的支持。

  • pygmentize 添加了一个 bash 完成脚本,到 external/ 目录 (#466)。

  • 修复了用于多词法分析器语言的 do_insertions() 中的错误。

  • 修复了 Ruby 正则表达式突出显示错误(#476)。

  • 修复了 Perl 词法分析器中的正则表达式突出显示错误(#258)。

  • 对 C 词法分析器 (#467) 和 Bash 词法分析器 (#469) 进行了小的增强。

  • 针对 Tcl、Debian 控制文件、Nginx 配置、Smalltalk、Objective-C、Clojure、Lua 词法分析器进行了小的修复。

  • Gherkin 词法分析器:修复了单引号错误,并添加了新的 i18n 关键字。

版本 1.2.2

(错误修复版,发布日期:2010 年 1 月 2 日)

  • 删除了 LaTeX 格式化程序中的向后不兼容性,该不兼容性导致 Sphinx 在编写 LaTeX 输出时生成无效命令(#463)。

  • 修复了 BashLexer 中的永远回溯正则表达式(#462)。

版本 1.2.1

(错误修复版,发布日期:2010 年 1 月 2 日)

  • 修复了 Python 控制台跟踪中使用省略号代替框架时的错误处理,导致输出混乱。

版本 1.2

(代号 Neujahr,发布日期:2010 年 1 月 1 日)

  • 放弃了 Python 2.3 兼容性。

  • 添加了词法分析器

    • Asymptote

    • Go

    • Gherkin(Cucumber)

    • CMake

    • Ooc

    • Coldfusion

    • Haxe

    • R 控制台

  • 添加了在 LaTeX 格式化程序中渲染源代码注释中的 LaTeX 的选项(#461)。

  • 更新了 Logtalk 词法分析器。

  • 在图像格式化程序中添加了 line_number_start 选项(#456)。

  • 在图像格式化程序中添加了 hl_lineshl_color 选项(#457)。

  • 修复了 HtmlFormatter 对 noclasses=True 的处理,使其不再输出任何类(#427)。

  • 添加了 Monokai 风格(#453)。

  • 修复了 LLVM 词法分析器标识符语法,并添加了新的关键字(#442)。

  • 修复了 PythonTracebackLexer,使其能够处理标题或尾部中的非跟踪数据,并支持更多从第二行开始的局部跟踪(#437)。

  • 修复了 CLexer,使其不再将三元语句突出显示为标签。

  • 修复了某些 Ruby 引号特性的词法分析(#460)。

  • ASM 词法分析器的一些修复(#450)。

版本 1.1.1

(错误修复版本,于 2009 年 9 月 15 日发布)

  • 修复了 BBCode 词法分析器(#435)。

  • 添加了对新 Jinja2 关键字的支持。

  • 修复了测试套件错误。

  • 在 Bash 词法分析器中添加了 Gentoo 特定的后缀。

版本 1.1

(代号为 Brillouin,于 2009 年 9 月 11 日发布)

  • 将 Pygments 移植到 Python 3。这需要对编码处理方式进行一些更改;它们也可能会影响在 Python 2 中使用时的极端情况。

  • 添加了词法分析器

    • Antlr/Ragel,感谢 Ana Nelson

    • (Ba)sh shell

    • Erlang shell

    • GLSL

    • Prolog

    • Evoque

    • Modelica

    • Rebol

    • MXML

    • Cython

    • ABAP

    • ASP.net (VB/C#)

    • Vala

    • Newspeak

  • 修复了 LaTeX 格式化程序的输出,使其为一种风格生成的输出可以与另一种风格的样式定义一起使用(#384)。

  • 在 HTML 格式化程序中添加了“anchorlinenos”和“noclobber_cssfile”(#396)选项。

  • 在 Lua 词法分析器中支持多行字符串。

  • 由 Pumbaa80 重写了 JavaScript 词法分析器,以更好地支持正则表达式字面量(#403)。

  • 当 pygmentize 被要求突出显示一个匹配多个词法分析器的文件时,使用 analyse_text 推测引擎来确定赢家(#355)。

  • 修复了 JavaScript 词法分析器(#383)、Matlab 词法分析器(#378)、Scala 词法分析器(#392)、INI 词法分析器(#391)、Clojure 词法分析器(#387)和 AS3 词法分析器(#389)中的小错误。

  • 修复了三个 Perl heredoc 词法分析错误(#379、#400、#422)。

  • 修复了图像格式化程序中错误检测行的错误(#380)。

  • 修复了词法分析扩展 Ruby 字符串和正则表达式的错误。

  • 修复了词法分析 git 差异时的错误。

  • 修复了 PHP 词法分析器中词法分析空提交时的错误(#405)。

  • 修复了导致 Python 数字被错误地突出显示为浮点数的错误(#397)。

  • 修复了在 Python 中反斜杠用于奇数位置时的错误(#395)。

  • 修复了 Matlab 和 S-Plus 词法分析器中的各种错误,感谢 Winston Chang(#410、#411、#413、#414)和 fmarc(#419)。

  • 修复了 Haskell 单行注释检测中的错误(#426)。

  • 为 docutils 0.5+ 添加了新的 reStructuredText 指令(#428)。

版本 1.0

(代号为 Dreiundzwanzig,于 2008 年 11 月 23 日发布)

  • 当将换行符转换为 \n 时,不要使用 join(splitlines()),因为这在 stripnl 词法分析器选项为 False 时不会保留所有结尾的换行符。

  • 在命令行界面中添加了 -N 选项,用于获取给定文件名的词法分析器名称。

  • 添加了 Tango 风格,由 Andre Roberge 为 Crunchy 项目编写。

  • 添加了 Python3TracebackLexer 和 python3 选项到 PythonConsoleLexer。

  • 修复了 Haskell 词法分析器中的几个错误。

  • 修复了 PythonTracebackLexer,使其能够识别 SyntaxError 和 KeyboardInterrupt(#360)。

  • 为每个图像格式提供一个格式化程序类,以避免像

    pygmentize -f gif -o foo.gif foo.py
    

    创建 PNG 文件这样的意外情况。

  • 实际使用图像格式化程序的 font_size 选项。

  • 修复了 numpy 词法分析器,使其不再监听 *.py

  • 修复了 HTML 格式化程序,使其文本选项可以是 Unicode 字符串(#371)。

  • 统一的 Diff 词法分析器现在支持“udiff”别名。

  • 修复了 Scala 词法分析器中的几个问题(#367)。

  • RubyConsoleLexer 现在支持简单的提示模式(#363)。

  • JavascriptLexer 对构成正则表达式的内容更加智能(#356)。

  • 添加 Applescript 词法分析器,感谢 Andreas Amann(#330)。

  • 使代码标记对匹配单词更加严格(#368)。

  • NginxConfLexer 对 mimetypes 和变量更加准确(#370)。

版本 0.11.1

(于 2008 年 8 月 24 日发布)

  • 修复了 pygments.unistring 中的 Jython 兼容性问题(#358)。

版本 0.11

(代号为 Straußenei,于 2008 年 8 月 23 日发布)

非常感谢 Tim Hatch 编写或集成了大部分错误修复和新功能。

  • 添加了词法分析器

    • Nasm 风格的汇编语言,感谢 delroth

    • YAML,感谢 Kirill Simonov

    • ActionScript 3,感谢 Pierre Bourdon

    • Cheetah/Spitfire 模板,感谢 Matt Good

    • Lighttpd 配置文件

    • Nginx 配置文件

    • Gnuplot 绘图脚本

    • Clojure

    • POV-Ray 场景文件

    • Sqlite3 交互式控制台会话

    • Scala 源文件,感谢 Krzysiek Goj

  • 词法分析器改进

    • C 词法分析器现在突出显示标准库函数并支持 C99 类型。

    • Bash 词法分析器现在可以正确突出显示没有前导空格的 heredocs。

    • Vim 词法分析器现在可以正确突出显示十六进制颜色,并知道更多关键字。

    • Irc 日志词法分析器现在可以处理 xchat 的默认时间格式(#340),并可以正确突出显示以 > 结尾的行。

    • 支持更多 perl 正则表达式的分隔符(#258)。

    • ObjectiveC 词法分析器现在支持 2.0 功能。

  • 添加了“Visual Studio”风格。

  • 将 markdown 处理器更新为 Markdown 1.7。

  • 支持罗马/无衬线/等宽风格定义,并在 LaTeX 格式化程序中使用它们。

  • RawTokenFormatter 不再注册到 *.raw,并且文档中说明了使用此词法分析器进行标记化可能会引发异常。

  • HTML 格式化程序的新选项 hl_lines,用于突出显示某些行。

  • HTML 格式化程序的新选项 prestyles

  • pygmentize 的新选项 -g,允许根据文件文本推测词法分析器(可能比较慢,因此文件扩展名仍然首先被检查)。

  • guess_lexer() 现在由于对数据是否为 xml 格式的缓存而使决策速度更快(此检查在几个版本的 analyse_text() 中使用。现在,几个词法分析器也有更准确的 analyse_text()

版本 0.10

(代号为 Malzeug,于 2008 年 5 月 6 日发布)

  • 添加了词法分析器

    • Io

    • Smalltalk

    • Darcs 补丁

    • Tcl

    • Matlab

    • Matlab 会话

    • FORTRAN

    • XSLT

    • tcsh

    • NumPy

    • Python 3

    • S、S-plus、R 统计语言

    • Logtalk

  • 在 LatexFormatter 中,commandprefix 选项现在默认情况下为“PY”,而不是“C”,因为后者会导致与其他包发生冲突。此外,还删除了 get_style_defs()arg 参数的特殊含义。

  • 添加了 ImageFormatter,用于将代码格式化为 PNG、JPG、GIF 或 BMP。(需要 Python Imaging Library。)

  • 在 PHP 词法分析器中支持文档注释。

  • 在 Perl 词法分析器中处理格式规范。

  • 修复了 Batch 词法分析器中的注释处理。

  • 为 C++、INI 和 XML 词法分析器添加了更多文件名扩展名。

  • 修复了 IRC 和 MuPad 词法分析器中的错误。

  • 修复了 Java 词法分析器中函数和接口名称的突出显示。

  • 修复了 CSS 词法分析器中 at-rule 处理。

  • 在 pygmentize 中优雅地处理 KeyboardInterrupts。

  • 添加了 BlackWhiteStyle。

  • Bash 词法分析器现在可以正确地突出显示数学运算,不需要在分号之后添加空格,并可以正确地突出显示布尔运算符。

  • Makefile 词法分析器现在能够处理 BSD 和 GNU make 语法。

版本 0.9

(代号为 Herbstzeitlose,于 2007 年 10 月 14 日发布)

  • 添加了词法分析器

    • Erlang

    • ActionScript

    • Literate Haskell

    • Common Lisp

    • 各种汇编语言

    • Gettext 目录

    • Squid 配置

    • Debian 控制文件

    • MySQL 风格的 SQL

    • MOOCode

  • 词法分析器改进

    • 极大地改进了 Haskell 和 OCaml 词法分析器。

    • 改进了 Bash 词法分析器对嵌套结构的处理。

    • C# 和 Java 词法分析器在某些输入代码中表现出糟糕的性能;现在应该修复了。

    • IRC 日志词法分析器现在也能够为 weechat 日志着色。

    • Lua 词法分析器现在可以识别多行注释。

    • 修复了 D 和 MiniD 词法分析器中的错误。

  • 增强了命令行模式(pygmentize)的编码处理。如果你没有给出编码选项,你就不会再从它那里得到 UnicodeErrors。

  • 在命令行模式中添加了 -P 选项,可以用来给出其值包含逗号或等号的选项。

  • 添加了 256 色终端格式化程序。

  • 添加了实验性的 SVG 格式化程序。

  • 感谢 Ian Charnas 的想法,在 HTML 格式化程序中添加了 lineanchors 选项。

  • 在 HTML 格式化程序中为行号表添加了 CSS 类。

  • 添加了类似 Vim 7 的风格。

版本 0.8.1

(于 2007 年 6 月 27 日发布)

  • 修复了 Ruby 词法分析器中的 POD 突出显示。

  • 修复了 C# 词法分析器中的 Unicode 类和命名空间名称突出显示。

  • 修复了 Python 词法分析器中的 Unicode 字符串前缀突出显示。

  • 修复了 D 和 MiniD 词法分析器中的一个错误。

  • 修复了包含的 MoinMoin 解析器。

版本 0.8

(代号为 Maikäfer,于 2007 年 5 月 30 日发布)

  • 添加了词法分析器

    • Haskell,感谢 Adam Blinkinsop

    • Redcode,感谢 Adam Blinkinsop

    • D,感谢 Kirk McDonald

    • MuPad,感谢 Christopher Creutzig

    • MiniD,感谢 Jarrett Billingsley

    • Vim Script,由 Tim Hatch 编写

  • HTML 格式化程序现在有了第二种行号模式,在这种模式下,它将行号与代码集成到同一个 <pre> 标签中。

  • CSharpLexer 现在支持 Unicode,这意味着它有一个可以设置的选项,以便它可以正确地分析 C# 规范允许的 Unicode 标识符。

  • 添加了 RaiseOnErrorTokenFilter,它在词法分析器生成错误标记时引发异常,以及 VisibleWhitespaceFilter,它将空白字符(空格、制表符、换行符)转换为可见字符。

  • 修复了 do_insertions() 辅助函数以生成正确的索引。

  • ReST 词法分析器现在会自动突出显示“.. sourcecode:: language”和“.. code:: language”指令块中的源代码块。

  • 改进了默认风格(感谢 Tiberius Teng)。旧的默认风格仍然可以使用“emacs”风格(以前是一个别名)。

  • HTML 格式化程序的 get_style_defs 方法现在使用 cssclass 选项作为默认选择器,如果它被给出。

  • 略微改进了 ReST 和 Bash 词法分析器。

  • 修复了 Makefile 和 Bash 词法分析器中的几个错误,感谢 Tim Hatch。

  • 修复了命令行代码中的一个错误,该错误在使用 -S 选项时不允许 -O 选项。

  • 修复了 RawTokenFormatter 中的一个错误。

版本 0.7.1

(发布日期:2007 年 2 月 15 日)

  • 修复了 Python、Java、Scheme 和 Apache Config 词法分析器中的少量高亮显示错误。

  • 更新了包含的联机帮助页。

  • 在源代码包中包含了一个构建版本的文档。

版本 0.7

(代号 Faschingskrapfn,发布日期:2007 年 2 月 14 日)

  • 添加了一个使用 Pygments 的 MoinMoin 解析器。使用它,您可以在 Moin Wiki 页面中获得 Pygments 高亮显示。

  • 如果在 get_*_by_* 函数中找不到合适的词法分析器、格式化程序等,则更改了引发的异常为自定义异常 pygments.util.ClassNotFound。但是,它是 ValueError 的子类,以保持向后兼容性。

  • 添加了 -H 命令行选项,可用于获取词法分析器、格式化程序或过滤器的文档字符串。

  • 使词法分析器和格式化程序的处理更加一致。格式化程序的别名和文件名模式现在是它们上的属性。

  • 添加了一个 OCaml 词法分析器,感谢 Adam Blinkinsop。

  • 使 HTML 格式化程序更加灵活,并且易于子类化,以便于实现自定义包装器,例如备用行号标记。请参阅文档。

  • 向所有格式化程序添加了 outencoding 选项,使之能够在使用命令行界面时覆盖 encoding(由词法分析器和格式化程序使用)。此外,如果使用终端格式化程序,并且输出文件是终端并具有编码属性,则在没有给出编码的情况下使用它。

  • 使将样式模块直接放到 Pygments 安装的 styles 子包中成为可能。

  • using 帮助程序添加了“state”关键字参数。

  • LatexFormatter 添加了 commandprefix 选项,它允许控制命令名的构造方式。

  • 添加了许多新的词法分析器,感谢 Tim Hatch

    • Java Server Pages

    • Windows 批处理文件

    • Trac Wiki 标记

    • Python 追踪回溯

    • ReStructuredText

    • Dylan

    • 以及 Befunge 晦涩的编程语言(太棒了!)

  • 由 Ben Bangert 添加了 Mako 词法分析器。

  • 添加了“fruity”样式,这是另一个最初基于 vim 的深色背景主题。

  • 由 Dennis Kaarsemaker 添加了 sources.list 词法分析器。

  • 添加了标记流过滤器,以及使用它们的 pygmentize 选项。

  • 更改了 in 运算符对标记的行为。

  • 为所有词法分析器添加了 mimetypes。

  • 修复了一些解析 Python 字符串的问题。

  • 修复了以下问题:#167、#178、#179、#180、#185、#201。

版本 0.6

(代号 Zimtstern,发布日期:2006 年 12 月 20 日)

  • 为 HTML 格式化程序添加了选项,以便在“完整文档”模式下将 CSS 写入外部文件。

  • 添加了 RTF 格式化程序。

  • 添加了 Bash 和 Apache 配置词法分析器(感谢 Tim Hatch)。

  • 改进了各种词法分析器的猜测方法。

  • 向 CSS 词法分析器添加了 @media 支持(感谢 Tim Hatch)。

  • 添加了一个 Groff 词法分析器(感谢 Tim Hatch)。

  • 许可证更改为 BSD。

  • 添加了 Myghty 模板语言的词法分析器。

  • 添加了一个 Scheme 词法分析器(感谢 Marek Kubica)。

  • 添加了一些函数来迭代现有的词法分析器、格式化程序和词法分析器。

  • HtmlFormatter 的 get_style_defs() 现在可以接受列表作为参数,以生成具有多个前缀的 CSS。

  • 添加了对猜测输入编码的支持。

  • 添加了编码支持:所有处理现在都使用 Unicode 字符串进行,输入和输出从字节字符串转换,并可以选择转换为字节字符串(请参阅词法分析器和格式化程序的 encoding 选项)。

  • C(++) 词法分析器在处理注释和行延续方面有一些改进。

版本 0.5.1

(发布日期:2006 年 10 月 30 日)

  • 修复了 pygmentize -L 中的追踪回溯(感谢 Piotr Ozarowski)。

版本 0.5

(代号 PyKleur,发布日期:2006 年 10 月 30 日)

  • 首次公开发布。