34 lines
963 B
Python
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())
|