diff options
| author | Georg Brandl <georg@python.org> | 2016-01-17 17:00:26 +0100 |
|---|---|---|
| committer | Georg Brandl <georg@python.org> | 2016-01-17 17:00:26 +0100 |
| commit | fc55dc2e95bcea03fbc0d8e1d130c9e53f3f1dad (patch) | |
| tree | 2a06d2fac7321452513bda7739e297a7e9848ec4 /scripts/detect_missing_analyse_text.py | |
| download | pygments-git-fc55dc2e95bcea03fbc0d8e1d130c9e53f3f1dad.tar.gz | |
merge default into stable
Diffstat (limited to 'scripts/detect_missing_analyse_text.py')
| -rw-r--r-- | scripts/detect_missing_analyse_text.py | 33 |
1 files changed, 33 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..ab58558e --- /dev/null +++ b/scripts/detect_missing_analyse_text.py @@ -0,0 +1,33 @@ +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()) |
