colors.py 781 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. NAMES = [
  2. 'grey',
  3. 'red',
  4. 'green',
  5. 'yellow',
  6. 'blue',
  7. 'magenta',
  8. 'cyan',
  9. 'white'
  10. ]
  11. def get_pairs():
  12. for i, name in enumerate(NAMES):
  13. yield(name, str(30 + i))
  14. yield('intense_' + name, str(30 + i) + ';1')
  15. def ansi(code):
  16. return '\033[{0}m'.format(code)
  17. def ansi_color(code, s):
  18. return '{0}{1}{2}'.format(ansi(code), s, ansi(0))
  19. def make_color_fn(code):
  20. return lambda s: ansi_color(code, s)
  21. for (name, code) in get_pairs():
  22. globals()[name] = make_color_fn(code)
  23. def rainbow():
  24. cs = ['cyan', 'yellow', 'green', 'magenta', 'red', 'blue',
  25. 'intense_cyan', 'intense_yellow', 'intense_green',
  26. 'intense_magenta', 'intense_red', 'intense_blue']
  27. for c in cs:
  28. yield globals()[c]