Pygments 常见问题

什么是 Pygments ?

pygments是一个用python编写的突出显示引擎的语法。这意味着,它将采用受支持语言的源代码(或其他标记),并输出包含突出显示标记的语法的已处理版本(以不同格式)。

其特点包括:

  • 广泛的共同点 languages and markup formats 支持

  • 新的语言和格式很容易添加

  • 有多种输出格式可用,包括:

    • HTML

    • ANSI序列(控制台输出)

    • LaTeX

    • RTF

  • 它可用作命令行工具和库

  • 解析和格式化速度很快

Pygments根据BSD许可证获得许可。

Pygments 这个名字是从哪里来的?

Py 当然,代表 Python,而 pigments 用于油漆着色,在这里是指源代码!

系统要求是什么?

Pygments只需要安装标准的Python 3.6版或更高版本。不需要额外的库。

我如何使用比 Pygments?

Pygments is usable as a command-line tool as well as a library.

在命令行中,用法如下(假设正确安装了pygmentize脚本)::

pygmentize -f html /path/to/file.py

这将打印一个HTML突出显示的/path/to/file.py到标准输出的版本。

要获得完整的帮助,请运行 pygmentize -h .

作为一个库的使用在文档部分得到了充分的演示。

我该怎么做一种新样式?

请看 documentation on styles .

如何报告错误或建议功能?

请在GitHub的tracker中报告缺陷和功能需求。

你也可以给作者发电子邮件,查看联系方式。

我想要这种语言的支持!

与其等待别人提供语言支持,为什么不自己写呢?你只需要知道 outlined in the docs .

我可以使用Pygments进行编程语言处理吗?

Pygments的词法处理机制非常强大,可以用来构建基本上所有语言的词法处理程序。然而,解析它们是不可能的,尽管一些lexer朝着这个方向执行了一些步骤,例如,以不同的方式突出显示函数名。

此外,错误报告不属于复制的范围。它着重于正确地突出显示语法有效的文档,而不是查找和补偿错误。

谁用 Pygments ?

这是一个(不完整的)项目列表和使用 Pygments 语法高亮的网站。

  • Wikipedia

  • BitBucket <https://bitbucket.org/> _,一个Mercurial和Git托管站点

  • The Sphinx documentation builder <https://sphinx-doc.org/> _,对于嵌入式源代码示例

  • rst2pdf <https://github.com/ralsina/rst2pdf> _,一个可重构文本到PDF的转换器

  • Codecov <https://codecov.io/> _,代码覆盖CI服务

  • Trac <https://trac.edgewall.org/> _,通用项目管理工具

  • AsciiDoc <https://www.methods.co.nz/asciidoc/> _,一个基于文本的文档生成器

  • ActiveState Code <https://code.activestate.com/> _ Python 食谱的继承者

  • ViewVC , a web-based version control repository browser

  • BzrFruit <https://repo.or.cz/w/bzrfruit.git> _,一个集市分支观察家

  • QBzr ,一个跨平台的基于qt的用于Bazaar的GUI前端

  • Review Board <https://www.reviewboard.org/> _,一个协作的代码评审工具

  • Diamanda <https://code.google.com/archive/p/diamanda/> _,一个Django支持的wiki系统,支持Pygments

  • ProgopediaEnglish )编程语言百科全书

  • Bruce <https://sites.google.com/site/r1chardj0n3s/bruce> _,一个重新构造的文本表示工具

  • PIDA ,用python编写的通用IDE

  • BPython <https://bpython-interpreter.org/> _,一个基于诅咒的智能Python shell

  • PuDB <https://pypi.org/project/pudb/> _Python调试器

  • XWiki <https://www.xwiki.org/> _,一个基于wiki的Java开发框架,使用Jython

  • roux ,用于运行r脚本和创建包括图形在内的漂亮输出的脚本

  • hurl ,用于发出HTTP请求的Web服务

  • wxHTMLPygmentizer 是一个GUI实用程序,用于使代码着色更容易

  • Postmarkup <https://code.google.com/archive/p/postmarkup/> _,XHTML生成器的BBCode

  • WpPygmentsWPygments ,用于WordPress的语法高亮插件

  • Siafoo ,一个用于共享和存储有用代码和编程经验的工具

  • D source ,D编程语言社区

  • dpaste.com ,另一个Django Pastebin

  • Django snippets <https://djangosnippets.org/> _,Django代码的pastebin

  • Fayaa 一个中国粉饼

  • Incollo.com ,一个免费的协作调试工具

  • PasteBox <https://p.boxnet.eu/> _一个注重隐私的垃圾箱

  • hilite.me ,用于突出显示代码段的网站

  • patx.me pastebin

  • Fluidic ,一个将shell与GUI集成的实验

  • pygments.rb <https://github.com/pygments/pygments.rb> _,Ruby的侏儒包装器

  • Clygments ,Clojure的包装纸

  • PHPygments ,PHP的Pygments包装

  • Spyder <https://www.spyder-ide.org/> _科学的Python开发环境使用pygments来突出显示its中的多语言语法 editor .

  • snippet.host <https://snippet.host> _,最少的文本和代码段托管

  • sourcehut <https://sourcehut.org> _,黑客的伪造

如果您有一个使用Pygments的项目或网站, open an issue or PR 我们在这里加一行。