diff options
author | thatch <devnull@localhost> | 2008-12-31 10:29:51 -0600 |
---|---|---|
committer | thatch <devnull@localhost> | 2008-12-31 10:29:51 -0600 |
commit | 556559854af14014cc179c44429a1b1876c8ccfd (patch) | |
tree | 90e4b44a89d53e5dc9b67bc5b881b8ff1930aae2 /scripts | |
parent | 80e8398af7ef5853a1b2b4eb6dd6c7041692fed8 (diff) | |
download | pygments-556559854af14014cc179c44429a1b1876c8ccfd.tar.gz |
Detect undefined (but required) analyse_text functions in 'make check'
target
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()) |