| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 
							- from __future__ import unicode_literals
 
- NAMES = [
 
-     'grey',
 
-     'red',
 
-     'green',
 
-     'yellow',
 
-     'blue',
 
-     'magenta',
 
-     'cyan',
 
-     'white'
 
- ]
 
- def get_pairs():
 
-     for i, name in enumerate(NAMES):
 
-         yield(name, str(30 + i))
 
-         yield('intense_' + name, str(30 + i) + ';1')
 
- def ansi(code):
 
-     return '\033[{0}m'.format(code)
 
- def ansi_color(code, s):
 
-     return '{0}{1}{2}'.format(ansi(code), s, ansi(0))
 
- def make_color_fn(code):
 
-     return lambda s: ansi_color(code, s)
 
- for (name, code) in get_pairs():
 
-     globals()[name] = make_color_fn(code)
 
- def rainbow():
 
-     cs = ['cyan', 'yellow', 'green', 'magenta', 'red', 'blue',
 
-           'intense_cyan', 'intense_yellow', 'intense_green',
 
-           'intense_magenta', 'intense_red', 'intense_blue']
 
-     for c in cs:
 
-         yield globals()[c]
 
 
  |