我发现函数调用未使用Pygments突出显示,我感到非常失望。
See it online(我用所有可用的样式测试过它)
内置函数突出显示但不是我的。
我查看the tokens list,但没有提及“函数调用”或“对象属性”等。
我考虑通过添加像\w+\(.*?\)
这样的正则表达式规则来扩展词法分析器。但是由于我没有想到的边缘情况,我担心会增加误差。
你知道为什么这个功能没有直接在Pygments中实现吗?
答案 0 :(得分:0)
如果您有要突出显示的特定函数列表,您可以添加自定义突出显示器,如内置 NumPyLexer
:
from pygments.lexers.python import PythonLexer
from pygments.token import Keyword, Name, String
class MyFuncLexer(PythonLexer):
name = 'MyFuncPython'
aliases = ['myfuncpython']
# override the mimetypes to not inherit them from python
mimetypes = []
filenames = []
EXTRA_KEYWORDS = {
'func'
}
def get_tokens_unprocessed(self, text):
for index, token, value in \
PythonLexer.get_tokens_unprocessed(self, text):
if token is Name and value in self.EXTRA_KEYWORDS:
yield index, Keyword.Pseudo, value
else:
yield index, token, value