diff options
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | scripts/detect_missing_analyse_text.py | 30 |
2 files changed, 31 insertions, 0 deletions
@@ -20,6 +20,7 @@ all: clean-pyc check test apidocs: epydoc check: + @$(PYTHON) scripts/detect_missing_analyse_text.py @$(PYTHON) scripts/check_sources.py -i apidocs -i pygments/lexers/_mapping.py \ -i docs/build -i pygments/formatters/_mapping.py -i pygments/unistring.py \ -i pygments/lexers/_vimbuiltins.py 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()) |