summaryrefslogtreecommitdiff
path: root/scripts/detect_missing_analyse_text.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/detect_missing_analyse_text.py')
-rw-r--r--scripts/detect_missing_analyse_text.py33
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())