##// END OF EJS Templates
the __future__ is now.
the __future__ is now.

File last commit:

r22609:78907568
r22963:2961b531
Show More
excolors.py
176 lines | 5.1 KiB | text/x-python | PythonLexer
fperez
- Fairly significant changes to include Vivian's patches for improved pdb...
r46 # -*- coding: utf-8 -*-
"""
Color schemes for exception handling code in IPython.
Fernando Perez
Remove svn-style $Id marks from docstrings and Release imports....
r1853 """
fperez
- Fairly significant changes to include Vivian's patches for improved pdb...
r46
Matthias Bussonnier
actually warn if somebody use it
r21777 import warnings
fperez
- Fairly significant changes to include Vivian's patches for improved pdb...
r46 #*****************************************************************************
fperez
Small fix in ultraTB, and fix autocall....
r88 # Copyright (C) 2005-2006 Fernando Perez <fperez@colorado.edu>
fperez
- Fairly significant changes to include Vivian's patches for improved pdb...
r46 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#*****************************************************************************
Brian Granger
ColorANSI.py -> utils/coloransi.py and all imports updated.
r2010 from IPython.utils.coloransi import ColorSchemeTable, TermColors, ColorScheme
fperez
- Fairly significant changes to include Vivian's patches for improved pdb...
r46
Fernando Perez
Update exception colors API to PEP8, various small fixes in related files....
r1845 def exception_colors():
"""Return a color table with fields for exception reporting.
The table is an instance of ColorSchemeTable with schemes added for
Matthias Bussonnier
Make everyone happy with a neutral colortheme by default.
r22609 'Neutral', 'Linux', 'LightBG' and 'NoColor' and fields for exception handling filled
Fernando Perez
Update exception colors API to PEP8, various small fixes in related files....
r1845 in.
Examples:
>>> ec = exception_colors()
>>> ec.active_scheme_name
''
Thomas Kluyver
Fix tests in IPython.core
r13394 >>> print(ec.active_colors)
Fernando Perez
Update exception colors API to PEP8, various small fixes in related files....
r1845 None
Bernardo B. Marques
remove all trailling spaces
r4872 Now we activate a color scheme:
Fernando Perez
Update exception colors API to PEP8, various small fixes in related files....
r1845 >>> ec.set_active_scheme('NoColor')
>>> ec.active_scheme_name
'NoColor'
Thomas Kluyver
Fix tests that depended on dictionary order in IPython.core
r7016 >>> sorted(ec.active_colors.keys())
['Normal', 'caret', 'em', 'excName', 'filename', 'filenameEm', 'line',
'lineno', 'linenoEm', 'name', 'nameEm', 'normalEm', 'topline', 'vName',
'val', 'valEm']
Fernando Perez
Update exception colors API to PEP8, various small fixes in related files....
r1845 """
Bernardo B. Marques
remove all trailling spaces
r4872
Fernando Perez
Update exception colors API to PEP8, various small fixes in related files....
r1845 ex_colors = ColorSchemeTable()
# Populate it with color schemes
C = TermColors # shorthand and local lookup
ex_colors.add_scheme(ColorScheme(
'NoColor',
# The color to be used for the top line
topline = C.NoColor,
# The colors to be used in the traceback
filename = C.NoColor,
lineno = C.NoColor,
name = C.NoColor,
vName = C.NoColor,
val = C.NoColor,
em = C.NoColor,
# Emphasized colors for the last frame of the traceback
normalEm = C.NoColor,
filenameEm = C.NoColor,
linenoEm = C.NoColor,
nameEm = C.NoColor,
valEm = C.NoColor,
# Colors for printing the exception
excName = C.NoColor,
line = C.NoColor,
caret = C.NoColor,
Normal = C.NoColor
))
# make some schemes as instances so we can copy them for modification easily
ex_colors.add_scheme(ColorScheme(
'Linux',
# The color to be used for the top line
topline = C.LightRed,
# The colors to be used in the traceback
filename = C.Green,
lineno = C.Green,
name = C.Purple,
vName = C.Cyan,
val = C.Green,
em = C.LightCyan,
# Emphasized colors for the last frame of the traceback
normalEm = C.LightCyan,
filenameEm = C.LightGreen,
linenoEm = C.LightGreen,
nameEm = C.LightPurple,
valEm = C.LightBlue,
# Colors for printing the exception
excName = C.LightRed,
line = C.Yellow,
caret = C.White,
Normal = C.Normal
))
# For light backgrounds, swap dark/light colors
ex_colors.add_scheme(ColorScheme(
'LightBG',
# The color to be used for the top line
topline = C.Red,
# The colors to be used in the traceback
filename = C.LightGreen,
lineno = C.LightGreen,
name = C.LightPurple,
vName = C.Cyan,
val = C.LightGreen,
em = C.Cyan,
# Emphasized colors for the last frame of the traceback
normalEm = C.Cyan,
filenameEm = C.Green,
linenoEm = C.Green,
nameEm = C.Purple,
valEm = C.Blue,
# Colors for printing the exception
excName = C.Red,
#line = C.Brown, # brown often is displayed as yellow
line = C.Red,
caret = C.Normal,
Fernando Perez
Minor formatting cleanups, remove more svn keyword marks
r1857 Normal = C.Normal,
Fernando Perez
Update exception colors API to PEP8, various small fixes in related files....
r1845 ))
Matthias Bussonnier
Make everyone happy with a neutral colortheme by default.
r22609 ex_colors.add_scheme(ColorScheme(
'Neutral',
# The color to be used for the top line
topline = C.Red,
# The colors to be used in the traceback
filename = C.LightGreen,
lineno = C.LightGreen,
name = C.LightPurple,
vName = C.Cyan,
val = C.LightGreen,
em = C.Cyan,
# Emphasized colors for the last frame of the traceback
normalEm = C.Cyan,
filenameEm = C.Green,
linenoEm = C.Green,
nameEm = C.Purple,
valEm = C.Blue,
# Colors for printing the exception
excName = C.Red,
#line = C.Brown, # brown often is displayed as yellow
line = C.Red,
caret = C.Normal,
Normal = C.Normal,
))
Fernando Perez
Update exception colors API to PEP8, various small fixes in related files....
r1845 return ex_colors
Matthias Bussonnier
actually warn if somebody use it
r21777 class Deprec(object):
def __init__(self, wrapped_obj):
self.wrapped=wrapped_obj
def __getattr__(self, name):
val = getattr(self.wrapped, name)
Matthias Bussonnier
Explicits deprecation warnings removal versions....
r21889 warnings.warn("Using ExceptionColors global is deprecated and will be removed in IPython 6.0", DeprecationWarning)
Matthias Bussonnier
actually warn if somebody use it
r21777 # using getattr after warnings break ipydoctest in weird way for 3.5
return val
Fernando Perez
Update exception colors API to PEP8, various small fixes in related files....
r1845
# For backwards compatibility, keep around a single global object. Note that
# this should NOT be used, the factory function should be used instead, since
# these objects are stateful and it's very easy to get strange bugs if any code
# modifies the module-level object's state.
Matthias Bussonnier
actually warn if somebody use it
r21777 ExceptionColors = Deprec(exception_colors())