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

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

""" 

    pygments.styles 

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

 

    Contains built-in styles. 

 

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

    :license: BSD, see LICENSE for details. 

""" 

 

from pygments.plugin import find_plugin_styles 

from pygments.util import ClassNotFound 

 

 

#: Maps style names to 'submodule::classname'. 

STYLE_MAP = { 

    'default':  'default::DefaultStyle', 

    'emacs':    'emacs::EmacsStyle', 

    'friendly': 'friendly::FriendlyStyle', 

    'colorful': 'colorful::ColorfulStyle', 

    'autumn':   'autumn::AutumnStyle', 

    'murphy':   'murphy::MurphyStyle', 

    'manni':    'manni::ManniStyle', 

    'monokai':  'monokai::MonokaiStyle', 

    'perldoc':  'perldoc::PerldocStyle', 

    'pastie':   'pastie::PastieStyle', 

    'borland':  'borland::BorlandStyle', 

    'trac':     'trac::TracStyle', 

    'native':   'native::NativeStyle', 

    'fruity':   'fruity::FruityStyle', 

    'bw':       'bw::BlackWhiteStyle', 

    'vim':      'vim::VimStyle', 

    'vs':       'vs::VisualStudioStyle', 

    'tango':    'tango::TangoStyle', 

    'rrt':      'rrt::RrtStyle', 

    'xcode':    'xcode::XcodeStyle', 

    'igor':     'igor::IgorStyle', 

    'paraiso-light': 'paraiso_light::ParaisoLightStyle', 

    'paraiso-dark': 'paraiso_dark::ParaisoDarkStyle', 

} 

 

 

def get_style_by_name(name): 

    if name in STYLE_MAP: 

        mod, cls = STYLE_MAP[name].split('::') 

        builtin = "yes" 

    else: 

        for found_name, style in find_plugin_styles(): 

            if name == found_name: 

                return style 

        # perhaps it got dropped into our styles package 

        builtin = "" 

        mod = name 

        cls = name.title() + "Style" 

 

    try: 

        mod = __import__('pygments.styles.' + mod, None, None, [cls]) 

    except ImportError: 

        raise ClassNotFound("Could not find style module %r" % mod + 

                         (builtin and ", though it should be builtin") + ".") 

    try: 

        return getattr(mod, cls) 

    except AttributeError: 

        raise ClassNotFound("Could not find style class %r in style module." % cls) 

 

 

def get_all_styles(): 

    """Return an generator for all styles by name, 

    both builtin and plugin.""" 

    for name in STYLE_MAP: 

        yield name 

    for name, _ in find_plugin_styles(): 

        yield name