如何在pygments中安装新的lexer?

Ger*_*Ger 3 pygments

我为pygments编写了一个新的词法分析器,并尝试使用它。因此我看这个页面

http://pygments.org/docs/lexerdevelopment/

描述安装过程的位置。他们说可以,make mapfiles但我不知道在哪里。

我查看了这两个目录,那里有他们谈论的other.py模块。

/usr/share/pyshared/pygments/lexers/
Run Code Online (Sandbox Code Playgroud)

/usr/share/pyshared/pygments/lexers/
Run Code Online (Sandbox Code Playgroud)

但是那里没有任何makefile。因此,我该怎么办?

小智 5

博客文章pygments中Custom语法说明了另一种向pygments中添加自定义词法分析器的方法:


Pygments通过setuptools中称为入口点的方式启用自定义插件。

目录结构:

|- FantomLexer
   |- fantomlexer
   |  |- __init__.py
   |  |- lexer.py
   |- setup.py
Run Code Online (Sandbox Code Playgroud)

__init__.py文件可以为空,但必须存在,因此足以触摸它。在lexer.py将包含Pygments来做正则表达式词法分析器。

内容setup.py如下:

from setuptools import setup, find_packages

setup (
  name='fantomlexer',
  packages=find_packages(),
  entry_points =
  """
  [pygments.lexers]
  fantomlexer = fantomlexer.lexer:FantomLexer
  """,
)
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过安装lexer sudo python setup.py develop