1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- """
- Adaptor for building prompt_toolkit styles, starting from a Pygments style.
- Usage::
- from pygments.styles.tango import TangoStyle
- style = style_from_pygments(pygments_style_cls=TangoStyle)
- """
- from __future__ import unicode_literals
- from .base import Style
- from .from_dict import style_from_dict
- __all__ = (
- 'PygmentsStyle',
- 'style_from_pygments',
- )
- # Following imports are only needed when a ``PygmentsStyle`` class is used.
- try:
- from pygments.style import Style as pygments_Style
- from pygments.styles.default import DefaultStyle as pygments_DefaultStyle
- except ImportError:
- pygments_Style = None
- pygments_DefaultStyle = None
- def style_from_pygments(style_cls=pygments_DefaultStyle,
- style_dict=None,
- include_defaults=True):
- """
- Shortcut to create a :class:`.Style` instance from a Pygments style class
- and a style dictionary.
- Example::
- from prompt_toolkit.styles.from_pygments import style_from_pygments
- from pygments.styles import get_style_by_name
- style = style_from_pygments(get_style_by_name('monokai'))
- :param style_cls: Pygments style class to start from.
- :param style_dict: Dictionary for this style. `{Token: style}`.
- :param include_defaults: (`bool`) Include prompt_toolkit extensions.
- """
- assert style_dict is None or isinstance(style_dict, dict)
- assert style_cls is None or issubclass(style_cls, pygments_Style)
- styles_dict = {}
- if style_cls is not None:
- styles_dict.update(style_cls.styles)
- if style_dict is not None:
- styles_dict.update(style_dict)
- return style_from_dict(styles_dict, include_defaults=include_defaults)
- class PygmentsStyle(Style):
- " Deprecated. "
- def __new__(cls, pygments_style_cls):
- assert issubclass(pygments_style_cls, pygments_Style)
- return style_from_dict(pygments_style_cls.styles)
- def invalidation_hash(self):
- pass
- @classmethod
- def from_defaults(cls, style_dict=None,
- pygments_style_cls=pygments_DefaultStyle,
- include_extensions=True):
- " Deprecated. "
- return style_from_pygments(
- style_cls=pygments_style_cls,
- style_dict=style_dict,
- include_defaults=include_extensions)
|