__init__.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # -*- coding: utf-8 -*-
  2. """
  3. pygments.styles
  4. ~~~~~~~~~~~~~~~
  5. Contains built-in styles.
  6. :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
  7. :license: BSD, see LICENSE for details.
  8. """
  9. from pygments.plugin import find_plugin_styles
  10. from pygments.util import ClassNotFound
  11. #: Maps style names to 'submodule::classname'.
  12. STYLE_MAP = {
  13. 'default': 'default::DefaultStyle',
  14. 'emacs': 'emacs::EmacsStyle',
  15. 'friendly': 'friendly::FriendlyStyle',
  16. 'colorful': 'colorful::ColorfulStyle',
  17. 'autumn': 'autumn::AutumnStyle',
  18. 'murphy': 'murphy::MurphyStyle',
  19. 'manni': 'manni::ManniStyle',
  20. 'monokai': 'monokai::MonokaiStyle',
  21. 'perldoc': 'perldoc::PerldocStyle',
  22. 'pastie': 'pastie::PastieStyle',
  23. 'borland': 'borland::BorlandStyle',
  24. 'trac': 'trac::TracStyle',
  25. 'native': 'native::NativeStyle',
  26. 'fruity': 'fruity::FruityStyle',
  27. 'bw': 'bw::BlackWhiteStyle',
  28. 'vim': 'vim::VimStyle',
  29. 'vs': 'vs::VisualStudioStyle',
  30. 'tango': 'tango::TangoStyle',
  31. 'rrt': 'rrt::RrtStyle',
  32. 'xcode': 'xcode::XcodeStyle',
  33. 'igor': 'igor::IgorStyle',
  34. 'paraiso-light': 'paraiso_light::ParaisoLightStyle',
  35. 'paraiso-dark': 'paraiso_dark::ParaisoDarkStyle',
  36. 'lovelace': 'lovelace::LovelaceStyle',
  37. 'algol': 'algol::AlgolStyle',
  38. 'algol_nu': 'algol_nu::Algol_NuStyle',
  39. 'arduino': 'arduino::ArduinoStyle',
  40. 'rainbow_dash': 'rainbow_dash::RainbowDashStyle',
  41. 'abap': 'abap::AbapStyle',
  42. }
  43. def get_style_by_name(name):
  44. if name in STYLE_MAP:
  45. mod, cls = STYLE_MAP[name].split('::')
  46. builtin = "yes"
  47. else:
  48. for found_name, style in find_plugin_styles():
  49. if name == found_name:
  50. return style
  51. # perhaps it got dropped into our styles package
  52. builtin = ""
  53. mod = name
  54. cls = name.title() + "Style"
  55. try:
  56. mod = __import__('pygments.styles.' + mod, None, None, [cls])
  57. except ImportError:
  58. raise ClassNotFound("Could not find style module %r" % mod +
  59. (builtin and ", though it should be builtin") + ".")
  60. try:
  61. return getattr(mod, cls)
  62. except AttributeError:
  63. raise ClassNotFound("Could not find style class %r in style module." % cls)
  64. def get_all_styles():
  65. """Return an generator for all styles by name,
  66. both builtin and plugin."""
  67. for name in STYLE_MAP:
  68. yield name
  69. for name, _ in find_plugin_styles():
  70. yield name