hpygments-0.1.0: pygments_dump_json.py
#!/usr/bin/env python
import sys
import json
from pygments.lexers import get_all_lexers
from pygments.formatters import get_all_formatters
def lexer_dict(name, aliases, filetypes, mimetypes):
return { '_lexerName': name
, '_lexerAliases': list(aliases)
, '_lexerFileTypes': list(filetypes)
, '_lexerMimeTypes': list(mimetypes)
}
def formatter_dict(f):
return { '_formatterName': f.name
, '_formatterAliases': list(f.aliases)
}
if len(sys.argv) < 2:
print('Usage: {} (lexers|formatters)'.format(sys.argv[0]))
sys.exit(1)
if sys.argv[1] == "lexers":
lexers = [lexer_dict(*x) for x in get_all_lexers()]
json.dump(lexers, sys.stdout)
if sys.argv[1] == "formatters":
formatters = [formatter_dict(x) for x in get_all_formatters()]
json.dump(formatters, sys.stdout)