gobyexample/vendor/pygments/scripts/detect_missing_analyse_text.py
2016-12-27 08:10:47 -08:00

34 lines
963 B
Python

from __future__ import print_function
import sys
from pygments.lexers import get_all_lexers, find_lexer_class
from pygments.lexer import Lexer
def main():
uses = {}
for name, aliases, filenames, mimetypes in get_all_lexers():
cls = find_lexer_class(name)
if not cls.aliases:
print(cls, "has no aliases")
for f in filenames:
if f not in uses:
uses[f] = []
uses[f].append(cls)
ret = 0
for k, v in uses.items():
if len(v) > 1:
#print "Multiple for", k, v
for i in v:
if i.analyse_text is None:
print(i, "has a None analyse_text")
ret |= 1
elif Lexer.analyse_text.__doc__ == i.analyse_text.__doc__:
print(i, "needs analyse_text, multiple lexers for", k)
ret |= 2
return ret
if __name__ == '__main__':
sys.exit(main())