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.plugin 

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

 

    Pygments setuptools plugin interface. The methods defined 

    here also work if setuptools isn't installed but they just 

    return nothing. 

 

    lexer plugins:: 

 

        [pygments.lexers] 

        yourlexer = yourmodule:YourLexer 

 

    formatter plugins:: 

 

        [pygments.formatters] 

        yourformatter = yourformatter:YourFormatter 

        /.ext = yourformatter:YourFormatter 

 

    As you can see, you can define extensions for the formatter 

    with a leading slash. 

 

    syntax plugins:: 

 

        [pygments.styles] 

        yourstyle = yourstyle:YourStyle 

 

    filter plugin:: 

 

        [pygments.filter] 

        yourfilter = yourfilter:YourFilter 

 

 

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

    :license: BSD, see LICENSE for details. 

""" 

try: 

    import pkg_resources 

except ImportError: 

    pkg_resources = None 

 

LEXER_ENTRY_POINT = 'pygments.lexers' 

FORMATTER_ENTRY_POINT = 'pygments.formatters' 

STYLE_ENTRY_POINT = 'pygments.styles' 

FILTER_ENTRY_POINT = 'pygments.filters' 

 

 

def find_plugin_lexers(): 

    if pkg_resources is None: 

        return 

    for entrypoint in pkg_resources.iter_entry_points(LEXER_ENTRY_POINT): 

        yield entrypoint.load() 

 

 

def find_plugin_formatters(): 

    if pkg_resources is None: 

        return 

    for entrypoint in pkg_resources.iter_entry_points(FORMATTER_ENTRY_POINT): 

        yield entrypoint.name, entrypoint.load() 

 

 

def find_plugin_styles(): 

    if pkg_resources is None: 

        return 

    for entrypoint in pkg_resources.iter_entry_points(STYLE_ENTRY_POINT): 

        yield entrypoint.name, entrypoint.load() 

 

 

def find_plugin_filters(): 

    if pkg_resources is None: 

        return 

    for entrypoint in pkg_resources.iter_entry_points(FILTER_ENTRY_POINT): 

        yield entrypoint.name, entrypoint.load()