diff options
author | Alexei Sholik <alcosholik@gmail.com> | 2014-06-05 04:07:19 +0300 |
---|---|---|
committer | Alexei Sholik <alcosholik@gmail.com> | 2014-06-05 04:07:19 +0300 |
commit | db1e5ef0852069e7a471e990e6024fdf1b9b8a61 (patch) | |
tree | a406476c1d6dd2e64df74b86eae10e376ebd5993 /scripts/detect_missing_analyse_text.py | |
download | pygments-git-db1e5ef0852069e7a471e990e6024fdf1b9b8a61.tar.gz |
Update ElixirLexer and example_elixir.ex
Elixir syntax has evolved quite significantly since the initial lexer
was written. In this update I have rewritten most of the code to support
modern Elixir (as of v0.14.0-dev).
The example file has also been updated to give an quick overview
of most of the language constructs.
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()) |