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.3.1, created at 2023-09-18 06:13 +0000
« prev ^ index » next coverage.py v7.3.1, created at 2023-09-18 06:13 +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_nu': 'algol_nu::Algol_NuStyle',
19 'algol': 'algol::AlgolStyle',
20 'arduino': 'arduino::ArduinoStyle',
21 'autumn': 'autumn::AutumnStyle',
22 'borland': 'borland::BorlandStyle',
23 'bw': 'bw::BlackWhiteStyle',
24 'colorful': 'colorful::ColorfulStyle',
25 'default': 'default::DefaultStyle',
26 'dracula': 'dracula::DraculaStyle',
27 'emacs': 'emacs::EmacsStyle',
28 'friendly_grayscale': 'friendly_grayscale::FriendlyGrayscaleStyle',
29 'friendly': 'friendly::FriendlyStyle',
30 'fruity': 'fruity::FruityStyle',
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 'lightbulb': 'lightbulb::LightbulbStyle',
37 'lilypond': 'lilypond::LilyPondStyle',
38 'lovelace': 'lovelace::LovelaceStyle',
39 'manni': 'manni::ManniStyle',
40 'material': 'material::MaterialStyle',
41 'monokai': 'monokai::MonokaiStyle',
42 'murphy': 'murphy::MurphyStyle',
43 'native': 'native::NativeStyle',
44 'nord-darker': 'nord::NordDarkerStyle',
45 'nord': 'nord::NordStyle',
46 'one-dark': 'onedark::OneDarkStyle',
47 'paraiso-dark': 'paraiso_dark::ParaisoDarkStyle',
48 'paraiso-light': 'paraiso_light::ParaisoLightStyle',
49 'pastie': 'pastie::PastieStyle',
50 'perldoc': 'perldoc::PerldocStyle',
51 'rainbow_dash': 'rainbow_dash::RainbowDashStyle',
52 'rrt': 'rrt::RrtStyle',
53 'sas': 'sas::SasStyle',
54 'solarized-dark': 'solarized::SolarizedDarkStyle',
55 'solarized-light': 'solarized::SolarizedLightStyle',
56 'staroffice': 'staroffice::StarofficeStyle',
57 'stata-dark': 'stata_dark::StataDarkStyle',
58 'stata-light': 'stata_light::StataLightStyle',
59 'stata': 'stata_light::StataLightStyle',
60 'tango': 'tango::TangoStyle',
61 'trac': 'trac::TracStyle',
62 'vim': 'vim::VimStyle',
63 'vs': 'vs::VisualStudioStyle',
64 'xcode': 'xcode::XcodeStyle',
65 'zenburn': 'zenburn::ZenburnStyle'
66}
69def get_style_by_name(name):
70 """
71 Return a style class by its short name. The names of the builtin styles
72 are listed in :data:`pygments.styles.STYLE_MAP`.
74 Will raise :exc:`pygments.util.ClassNotFound` if no style of that name is
75 found.
76 """
77 if name in STYLE_MAP:
78 mod, cls = STYLE_MAP[name].split('::')
79 builtin = "yes"
80 else:
81 for found_name, style in find_plugin_styles():
82 if name == found_name:
83 return style
84 # perhaps it got dropped into our styles package
85 builtin = ""
86 mod = name
87 cls = name.title() + "Style"
89 try:
90 mod = __import__('pygments.styles.' + mod, None, None, [cls])
91 except ImportError:
92 raise ClassNotFound("Could not find style module %r" % mod +
93 (builtin and ", though it should be builtin") + ".")
94 try:
95 return getattr(mod, cls)
96 except AttributeError:
97 raise ClassNotFound("Could not find style class %r in style module." % cls)
100def get_all_styles():
101 """Return a generator for all styles by name, both builtin and plugin."""
102 yield from STYLE_MAP
103 for name, _ in find_plugin_styles():
104 yield name