我为pygments编写了一个新的词法分析器,我尝试使用它。因此,我看看这个页面
http://pygments.org/docs/lexerdevelopment/
描述安装过程。他们说做make mapfiles
,但我不知道在哪里。
我查看这两个目录,其中有他们谈论的other.py模块。
/usr/share/pyshared/pygments/lexers/
和
/usr/share/pyshared/pygments/lexers/
但那里没有任何makefile。那我该怎么办?
答案 0 :(得分:5)
博文Custom syntax in pygments解释了向pygments添加自定义词法分析器的另一种方法:
Pygments通过setuptools中名为entrypoints的东西启用自定义插件。
目录结构:
__init__.py
lexer.py
文件可以为空,但它必须在那里,以便只需触摸即可。 setup.py
将包含pygments的正则表达式词法分析器。
from setuptools import setup, find_packages
setup (
name='fantomlexer',
packages=find_packages(),
entry_points =
"""
[pygments.lexers]
fantomlexer = fantomlexer.lexer:FantomLexer
""",
)
的内容如下:
sudo python setup.py develop
然后,您可以通过single simple underscore
安装词法分析器。
答案 1 :(得分:2)
我找到了一个有效的解决方案。我猜你的lexer在文件mylex.py
中。我在ubuntu 13.10下做了以下。您需要具有root权限才能执行此操作。
/usr/share/pyshared/pygments/lexers/
python _mapping.py
将词法分析器的符号链接添加到/usr/lib/python2.7/dist-packages/pygments/lexers/
。例如:
cd /usr/lib/python2.7/dist-packages/pygments/lexers /
ln -s /usr/share/pyshared/pygments/lexers/algobox.py。