summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/pygments/styles/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.11/site-packages/pygments/styles/__init__.py')
-rw-r--r--venv/lib/python3.11/site-packages/pygments/styles/__init__.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/pygments/styles/__init__.py b/venv/lib/python3.11/site-packages/pygments/styles/__init__.py
new file mode 100644
index 0000000..75ac30b
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/pygments/styles/__init__.py
@@ -0,0 +1,61 @@
+"""
+ pygments.styles
+ ~~~~~~~~~~~~~~~
+
+ Contains built-in styles.
+
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from pygments.plugin import find_plugin_styles
+from pygments.util import ClassNotFound
+from pygments.styles._mapping import STYLES
+
+#: A dictionary of built-in styles, mapping style names to
+#: ``'submodule::classname'`` strings.
+#: This list is deprecated. Use `pygments.styles.STYLES` instead
+STYLE_MAP = {v[1]: v[0].split('.')[-1] + '::' + k for k, v in STYLES.items()}
+
+#: Internal reverse mapping to make `get_style_by_name` more efficient
+_STYLE_NAME_TO_MODULE_MAP = {v[1]: (v[0], k) for k, v in STYLES.items()}
+
+
+def get_style_by_name(name):
+ """
+ Return a style class by its short name. The names of the builtin styles
+ are listed in :data:`pygments.styles.STYLE_MAP`.
+
+ Will raise :exc:`pygments.util.ClassNotFound` if no style of that name is
+ found.
+ """
+ if name in _STYLE_NAME_TO_MODULE_MAP:
+ mod, cls = _STYLE_NAME_TO_MODULE_MAP[name]
+ 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 = 'pygments.styles.' + name
+ cls = name.title() + "Style"
+
+ try:
+ mod = __import__(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 a generator for all styles by name, both builtin and plugin."""
+ for v in STYLES.values():
+ yield v[1]
+ for name, _ in find_plugin_styles():
+ yield name