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

1""" 

2 pygments.styles 

3 ~~~~~~~~~~~~~~~ 

4 

5 Contains built-in styles. 

6 

7 :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. 

8 :license: BSD, see LICENSE for details. 

9""" 

10 

11from pygments.plugin import find_plugin_styles 

12from pygments.util import ClassNotFound 

13 

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} 

67 

68 

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`. 

73 

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" 

88 

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) 

98 

99 

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