38 LEXER_ENTRY_POINT = 'pygments.lexers' |
38 LEXER_ENTRY_POINT = 'pygments.lexers' |
39 FORMATTER_ENTRY_POINT = 'pygments.formatters' |
39 FORMATTER_ENTRY_POINT = 'pygments.formatters' |
40 STYLE_ENTRY_POINT = 'pygments.styles' |
40 STYLE_ENTRY_POINT = 'pygments.styles' |
41 FILTER_ENTRY_POINT = 'pygments.filters' |
41 FILTER_ENTRY_POINT = 'pygments.filters' |
42 |
42 |
|
43 |
43 def iter_entry_points(group_name): |
44 def iter_entry_points(group_name): |
44 try: |
45 try: |
45 import pkg_resources |
46 import pkg_resources |
46 except ImportError: |
47 except (ImportError, IOError): |
47 return [] |
48 return [] |
48 |
49 |
49 return pkg_resources.iter_entry_points(group_name) |
50 return pkg_resources.iter_entry_points(group_name) |
|
51 |
50 |
52 |
51 def find_plugin_lexers(): |
53 def find_plugin_lexers(): |
52 for entrypoint in iter_entry_points(LEXER_ENTRY_POINT): |
54 for entrypoint in iter_entry_points(LEXER_ENTRY_POINT): |
53 yield entrypoint.load() |
55 yield entrypoint.load() |
54 |
56 |