Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

# -*- coding: utf-8 -*- 

""" 

    pygments.formatters._mapping 

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

 

    Formatter mapping definitions. This file is generated by itself. Everytime 

    you change something on a builtin formatter definition, run this script from 

    the formatters folder to update it. 

 

    Do not alter the FORMATTERS dictionary by hand. 

 

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS. 

    :license: BSD, see LICENSE for details. 

""" 

 

from __future__ import print_function 

 

FORMATTERS = { 

    'BBCodeFormatter': ('pygments.formatters.bbcode', 'BBCode', ('bbcode', 'bb'), (), 'Format tokens with BBcodes. These formatting codes are used by many bulletin boards, so you can highlight your sourcecode with pygments before posting it there.'), 

    'BmpImageFormatter': ('pygments.formatters.img', 'img_bmp', ('bmp', 'bitmap'), ('*.bmp',), 'Create a bitmap image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'), 

    'GifImageFormatter': ('pygments.formatters.img', 'img_gif', ('gif',), ('*.gif',), 'Create a GIF image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'), 

    'HtmlFormatter': ('pygments.formatters.html', 'HTML', ('html',), ('*.html', '*.htm'), "Format tokens as HTML 4 ``<span>`` tags within a ``<pre>`` tag, wrapped in a ``<div>`` tag. The ``<div>``'s CSS class can be set by the `cssclass` option."), 

    'ImageFormatter': ('pygments.formatters.img', 'img', ('img', 'IMG', 'png'), ('*.png',), 'Create a PNG image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'), 

    'JpgImageFormatter': ('pygments.formatters.img', 'img_jpg', ('jpg', 'jpeg'), ('*.jpg',), 'Create a JPEG image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'), 

    'LatexFormatter': ('pygments.formatters.latex', 'LaTeX', ('latex', 'tex'), ('*.tex',), 'Format tokens as LaTeX code. This needs the `fancyvrb` and `color` standard packages.'), 

    'NullFormatter': ('pygments.formatters.other', 'Text only', ('text', 'null'), ('*.txt',), 'Output the text unchanged without any formatting.'), 

    'RawTokenFormatter': ('pygments.formatters.other', 'Raw tokens', ('raw', 'tokens'), ('*.raw',), 'Format tokens as a raw representation for storing token streams.'), 

    'RtfFormatter': ('pygments.formatters.rtf', 'RTF', ('rtf',), ('*.rtf',), 'Format tokens as RTF markup. This formatter automatically outputs full RTF documents with color information and other useful stuff. Perfect for Copy and Paste into Microsoft(R) Word(R) documents.'), 

    'SvgFormatter': ('pygments.formatters.svg', 'SVG', ('svg',), ('*.svg',), 'Format tokens as an SVG graphics file.  This formatter is still experimental. Each line of code is a ``<text>`` element with explicit ``x`` and ``y`` coordinates containing ``<tspan>`` elements with the individual token styles.'), 

    'Terminal256Formatter': ('pygments.formatters.terminal256', 'Terminal256', ('terminal256', 'console256', '256'), (), 'Format tokens with ANSI color sequences, for output in a 256-color terminal or console. Like in `TerminalFormatter` color sequences are terminated at newlines, so that paging the output works correctly.'), 

    'TerminalFormatter': ('pygments.formatters.terminal', 'Terminal', ('terminal', 'console'), (), 'Format tokens with ANSI color sequences, for output in a text console. Color sequences are terminated at newlines, so that paging the output works correctly.'), 

    'TestcaseFormatter': ('pygments.formatters.other', 'Testcase', ('testcase',), (), 'Format tokens as appropriate for a new testcase.') 

} 

 

 

if __name__ == '__main__':  # pragma: no cover 

    import sys 

    import os 

 

    # lookup formatters 

    found_formatters = [] 

    imports = [] 

    sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..')) 

    from pygments.util import docstring_headline 

 

    for root, dirs, files in os.walk('.'): 

        for filename in files: 

            if filename.endswith('.py') and not filename.startswith('_'): 

                module_name = 'pygments.formatters%s.%s' % ( 

                    root[1:].replace('/', '.'), filename[:-3]) 

                print(module_name) 

                module = __import__(module_name, None, None, ['']) 

                for formatter_name in module.__all__: 

                    formatter = getattr(module, formatter_name) 

                    found_formatters.append( 

                        '%r: %r' % (formatter_name, 

                                    (module_name, 

                                     formatter.name, 

                                     tuple(formatter.aliases), 

                                     tuple(formatter.filenames), 

                                     docstring_headline(formatter)))) 

    # sort them to make the diff minimal 

    found_formatters.sort() 

 

    # extract useful sourcecode from this file 

    with open(__file__) as fp: 

        content = fp.read() 

    header = content[:content.find('FORMATTERS = {')] 

    footer = content[content.find("if __name__ == '__main__':"):] 

 

    # write new file 

    with open(__file__, 'w') as fp: 

        fp.write(header) 

        fp.write('FORMATTERS = {\n    %s\n}\n\n' % ',\n    '.join(found_formatters)) 

        fp.write(footer) 

 

    print ('=== %d formatters processed.' % len(found_formatters))