summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorthatch <devnull@localhost>2008-12-31 10:29:51 -0600
committerthatch <devnull@localhost>2008-12-31 10:29:51 -0600
commit556559854af14014cc179c44429a1b1876c8ccfd (patch)
tree90e4b44a89d53e5dc9b67bc5b881b8ff1930aae2 /scripts
parent80e8398af7ef5853a1b2b4eb6dd6c7041692fed8 (diff)
downloadpygments-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.py30
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())