diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/detect_missing_analyse_text.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/scripts/detect_missing_analyse_text.py b/scripts/detect_missing_analyse_text.py new file mode 100644 index 00000000..fc3fef71 --- /dev/null +++ b/scripts/detect_missing_analyse_text.py @@ -0,0 +1,30 @@ +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) + for f in filenames: + if f not in uses: + uses[f] = [] + uses[f].append(cls) + + ret = 0 + for k, v in uses.iteritems(): + 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()) |