Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/pygments/styles/__init__.py: 48%
25 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-26 07:02 +0000
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-26 07:02 +0000
1"""
2 pygments.styles
3 ~~~~~~~~~~~~~~~
5 Contains built-in styles.
7 :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8 :license: BSD, see LICENSE for details.
9"""
11from pygments.plugin import find_plugin_styles
12from pygments.util import ClassNotFound
14#: A dictionary of built-in styles, mapping style names to
15#: ``'submodule::classname'`` strings.
16STYLE_MAP = {
17 'abap': 'abap::AbapStyle',
18 'algol': 'algol::AlgolStyle',
19 'algol_nu': 'algol_nu::Algol_NuStyle',
20 'arduino': 'arduino::ArduinoStyle',
21 'autumn': 'autumn::AutumnStyle',
22 'bw': 'bw::BlackWhiteStyle',
23 'borland': 'borland::BorlandStyle',
24 'colorful': 'colorful::ColorfulStyle',
25 'default': 'default::DefaultStyle',
26 'dracula': 'dracula::DraculaStyle',
27 'emacs': 'emacs::EmacsStyle',
28 'fruity': 'fruity::FruityStyle',
29 'friendly': 'friendly::FriendlyStyle',
30 'friendly_grayscale': 'friendly_grayscale::FriendlyGrayscaleStyle',
31 'github-dark': 'gh_dark::GhDarkStyle',
32 'gruvbox-dark': 'gruvbox::GruvboxDarkStyle',
33 'gruvbox-light': 'gruvbox::GruvboxLightStyle',
34 'igor': 'igor::IgorStyle',
35 'inkpot': 'inkpot::InkPotStyle',
36 'lilypond': 'lilypond::LilyPondStyle',
37 'lovelace': 'lovelace::LovelaceStyle',
38 'manni': 'manni::ManniStyle',
39 'material': 'material::MaterialStyle',
40 'monokai': 'monokai::MonokaiStyle',
41 'murphy': 'murphy::MurphyStyle',
42 'nord': 'nord::NordStyle',
43 'nord-darker': 'nord::NordDarkerStyle',
44 'one-dark': 'onedark::OneDarkStyle',
45 'paraiso-dark': 'paraiso_dark::ParaisoDarkStyle',
46 'paraiso-light': 'paraiso_light::ParaisoLightStyle',
47 'pastie': 'pastie::PastieStyle',
48 'perldoc': 'perldoc::PerldocStyle',
49 'rainbow_dash': 'rainbow_dash::RainbowDashStyle',
50 'rrt': 'rrt::RrtStyle',
51 'sas': 'sas::SasStyle',
52 'solarized-dark': 'solarized::SolarizedDarkStyle',
53 'solarized-light': 'solarized::SolarizedLightStyle',
54 'staroffice': 'staroffice::StarofficeStyle',
55 'stata': 'stata_light::StataLightStyle',
56 'stata-dark': 'stata_dark::StataDarkStyle',
57 'stata-light': 'stata_light::StataLightStyle',
58 'tango': 'tango::TangoStyle',
59 'trac': 'trac::TracStyle',
60 'vim': 'vim::VimStyle',
61 'vs': 'vs::VisualStudioStyle',
62 'xcode': 'xcode::XcodeStyle',
63 'zenburn': 'zenburn::ZenburnStyle'
64}
67def get_style_by_name(name):
68 """
69 Return a style class by its short name. The names of the builtin styles
70 are listed in :data:`pygments.styles.STYLE_MAP`.
72 Will raise :exc:`pygments.util.ClassNotFound` if no style of that name is
73 found.
74 """
75 if name in STYLE_MAP:
76 mod, cls = STYLE_MAP[name].split('::')
77 builtin = "yes"
78 else:
79 for found_name, style in find_plugin_styles():
80 if name == found_name:
81 return style
82 # perhaps it got dropped into our styles package
83 builtin = ""
84 mod = name
85 cls = name.title() + "Style"
87 try:
88 mod = __import__('pygments.styles.' + mod, None, None, [cls])
89 except ImportError:
90 raise ClassNotFound("Could not find style module %r" % mod +
91 (builtin and ", though it should be builtin") + ".")
92 try:
93 return getattr(mod, cls)
94 except AttributeError:
95 raise ClassNotFound("Could not find style class %r in style module." % cls)
98def get_all_styles():
99 """Return a generator for all styles by name, both builtin and plugin."""
100 yield from STYLE_MAP
101 for name, _ in find_plugin_styles():
102 yield name