""" pygments.plugin ~~~~~~~~~~~~~~~ Pygments plugin interface. 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-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ from importlib.metadata import entry_points LEXER_ENTRY_POINT = 'pygments.lexers' FORMATTER_ENTRY_POINT = 'pygments.formatters' STYLE_ENTRY_POINT = 'pygments.styles' FILTER_ENTRY_POINT = 'pygments.filters' def iter_entry_points(group_name): groups = entry_points() if hasattr(groups, 'select'): # New interface in Python 3.10 and newer versions of the # importlib_metadata backport. return groups.select(group=group_name) else: # Older interface, deprecated in Python 3.10 and recent # importlib_metadata, but we need it in Python 3.8 and 3.9. return groups.get(group_name, []) def find_plugin_lexers(): for entrypoint in iter_entry_points(LEXER_ENTRY_POINT): yield entrypoint.load() def find_plugin_formatters(): for entrypoint in iter_entry_points(FORMATTER_ENTRY_POINT): yield entrypoint.name, entrypoint.load() def find_plugin_styles(): for entrypoint in iter_entry_points(STYLE_ENTRY_POINT): yield entrypoint.name, entrypoint.load() def find_plugin_filters(): for entrypoint in iter_entry_points(FILTER_ENTRY_POINT): yield entrypoint.name, entrypoint.load()
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
filters | Folder | 0755 |
|
|
formatters | Folder | 0755 |
|
|
lexers | Folder | 0755 |
|
|
styles | Folder | 0755 |
|
|
__init__.py | File | 2.91 KB | 0644 |
|
__main__.py | File | 353 B | 0644 |
|
cmdline.py | File | 23.1 KB | 0644 |
|
console.py | File | 1.68 KB | 0644 |
|
filter.py | File | 1.87 KB | 0644 |
|
formatter.py | File | 4.29 KB | 0644 |
|
lexer.py | File | 34.52 KB | 0644 |
|
modeline.py | File | 1005 B | 0644 |
|
plugin.py | File | 1.85 KB | 0644 |
|
regexopt.py | File | 3 KB | 0644 |
|
scanner.py | File | 3.02 KB | 0644 |
|
sphinxext.py | File | 7.79 KB | 0644 |
|
style.py | File | 6.27 KB | 0644 |
|
token.py | File | 6.08 KB | 0644 |
|
unistring.py | File | 61.73 KB | 0644 |
|
util.py | File | 9.8 KB | 0644 |
|