Show More
@@ -233,6 +233,10 b' class Pdb(OldPdb, object):' | |||
|
233 | 233 | cst['LightBG'].colors.breakpoint_enabled = C.LightRed |
|
234 | 234 | cst['LightBG'].colors.breakpoint_disabled = C.Red |
|
235 | 235 | |
|
236 | cst['Neutral'].colors.prompt = C.Blue | |
|
237 | cst['Neutral'].colors.breakpoint_enabled = C.LightRed | |
|
238 | cst['Neutral'].colors.breakpoint_disabled = C.Red | |
|
239 | ||
|
236 | 240 | self.set_colors(color_scheme) |
|
237 | 241 | |
|
238 | 242 | # Add a python parser so we can syntax highlight source while |
@@ -313,7 +317,7 b' class Pdb(OldPdb, object):' | |||
|
313 | 317 | except KeyboardInterrupt: |
|
314 | 318 | pass |
|
315 | 319 | |
|
316 | def print_stack_entry(self,frame_lineno,prompt_prefix='\n-> ', | |
|
320 | def print_stack_entry(self,frame_lineno, prompt_prefix='\n-> ', | |
|
317 | 321 | context=None): |
|
318 | 322 | if context is None: |
|
319 | 323 | context = self.context |
@@ -18,7 +18,7 b' def exception_colors():' | |||
|
18 | 18 | """Return a color table with fields for exception reporting. |
|
19 | 19 | |
|
20 | 20 | The table is an instance of ColorSchemeTable with schemes added for |
|
21 | 'Linux', 'LightBG' and 'NoColor' and fields for exception handling filled | |
|
21 | 'Neutral', 'Linux', 'LightBG' and 'NoColor' and fields for exception handling filled | |
|
22 | 22 | in. |
|
23 | 23 | |
|
24 | 24 | Examples: |
@@ -127,6 +127,35 b' def exception_colors():' | |||
|
127 | 127 | Normal = C.Normal, |
|
128 | 128 | )) |
|
129 | 129 | |
|
130 | ex_colors.add_scheme(ColorScheme( | |
|
131 | 'Neutral', | |
|
132 | # The color to be used for the top line | |
|
133 | topline = C.Red, | |
|
134 | ||
|
135 | # The colors to be used in the traceback | |
|
136 | filename = C.LightGreen, | |
|
137 | lineno = C.LightGreen, | |
|
138 | name = C.LightPurple, | |
|
139 | vName = C.Cyan, | |
|
140 | val = C.LightGreen, | |
|
141 | em = C.Cyan, | |
|
142 | ||
|
143 | # Emphasized colors for the last frame of the traceback | |
|
144 | normalEm = C.Cyan, | |
|
145 | filenameEm = C.Green, | |
|
146 | linenoEm = C.Green, | |
|
147 | nameEm = C.Purple, | |
|
148 | valEm = C.Blue, | |
|
149 | ||
|
150 | # Colors for printing the exception | |
|
151 | excName = C.Red, | |
|
152 | #line = C.Brown, # brown often is displayed as yellow | |
|
153 | line = C.Red, | |
|
154 | caret = C.Normal, | |
|
155 | Normal = C.Normal, | |
|
156 | )) | |
|
157 | ||
|
158 | ||
|
130 | 159 | return ex_colors |
|
131 | 160 | |
|
132 | 161 | class Deprec(object): |
@@ -137,12 +137,10 b' class SpaceInInput(Exception): pass' | |||
|
137 | 137 | |
|
138 | 138 | |
|
139 | 139 | def get_default_colors(): |
|
140 | if sys.platform=='darwin': | |
|
141 | return "LightBG" | |
|
142 | elif os.name=='nt': | |
|
143 |
|
|
|
144 | else: | |
|
145 | return 'Linux' | |
|
140 | "DEPRECATED" | |
|
141 | warn('get_default_color is Deprecated, and is `Neutral` on all platforms.', | |
|
142 | DeprecationWarning, stacklevel=2) | |
|
143 | return 'Neutral' | |
|
146 | 144 | |
|
147 | 145 | |
|
148 | 146 | class SeparateUnicode(Unicode): |
@@ -250,8 +248,8 b' class InteractiveShell(SingletonConfigurable):' | |||
|
250 | 248 | get confused with color codes, this capability can be turned off. |
|
251 | 249 | """ |
|
252 | 250 | ).tag(config=True) |
|
253 | colors = CaselessStrEnum(('NoColor','LightBG','Linux'), | |
|
254 |
default_value= |
|
|
251 | colors = CaselessStrEnum(('Neutral', 'NoColor','LightBG','Linux'), | |
|
252 | default_value='Neutral', | |
|
255 | 253 | help="Set the color scheme (NoColor, Linux, or LightBG)." |
|
256 | 254 | ).tag(config=True) |
|
257 | 255 | colors_force = Bool(False, help= |
@@ -325,7 +325,7 b' Currently the magic system has the following functions:""",' | |||
|
325 | 325 | """ |
|
326 | 326 | def color_switch_err(name): |
|
327 | 327 | warn('Error changing %s color schemes.\n%s' % |
|
328 | (name, sys.exc_info()[1])) | |
|
328 | (name, sys.exc_info()[1]), stacklevel=2) | |
|
329 | 329 | |
|
330 | 330 | |
|
331 | 331 | new_scheme = parameter_s.strip() |
@@ -67,6 +67,9 b' ColorSchemeTable class. Currently the following exist:' | |||
|
67 | 67 | - LightBG: similar to Linux but swaps dark/light colors to be more readable |
|
68 | 68 | in light background terminals. |
|
69 | 69 | |
|
70 | - Neutral: a neutral color scheme that should be readable on both light and | |
|
71 | dark background | |
|
72 | ||
|
70 | 73 | You can implement other color schemes easily, the syntax is fairly |
|
71 | 74 | self-explanatory. Please send back new schemes you develop to the author for |
|
72 | 75 | possible inclusion in future releases. |
@@ -369,6 +369,7 b' class TerminalInteractiveShell(InteractiveShell):' | |||
|
369 | 369 | |
|
370 | 370 | We need that to add style for prompt ... etc. |
|
371 | 371 | """ |
|
372 | style_overrides = {} | |
|
372 | 373 | if name == 'legacy': |
|
373 | 374 | legacy = self.colors.lower() |
|
374 | 375 | if legacy == 'linux': |
@@ -376,10 +377,12 b' class TerminalInteractiveShell(InteractiveShell):' | |||
|
376 | 377 | style_overrides = _style_overrides_linux |
|
377 | 378 | elif legacy == 'lightbg': |
|
378 | 379 | style_overrides = _style_overrides_light_bg |
|
379 |
style_cls = get_style_by_name(' |
|
|
380 | style_cls = get_style_by_name('pastie') | |
|
381 | elif legacy == 'neutral': | |
|
380 | 382 | # The default theme needs to be visible on both a dark background |
|
381 | 383 | # and a light background, because we can't tell what the terminal |
|
382 | 384 | # looks like. These tweaks to the default theme help with that. |
|
385 | style_cls = get_style_by_name('default') | |
|
383 | 386 | style_overrides.update({ |
|
384 | 387 | Token.Number: '#007700', |
|
385 | 388 | Token.Operator: 'noinherit', |
@@ -387,6 +390,10 b' class TerminalInteractiveShell(InteractiveShell):' | |||
|
387 | 390 | Token.Name.Function: '#2080D0', |
|
388 | 391 | Token.Name.Class: 'bold #2080D0', |
|
389 | 392 | Token.Name.Namespace: 'bold #2080D0', |
|
393 | Token.Prompt: '#009900', | |
|
394 | Token.PromptNum: '#00ff00 bold', | |
|
395 | Token.OutPrompt: '#990000', | |
|
396 | Token.OutPromptNum: '#ff0000 bold', | |
|
390 | 397 | }) |
|
391 | 398 | elif legacy =='nocolor': |
|
392 | 399 | style_cls=_NoStyle |
@@ -122,6 +122,32 b' LinuxColors = ColorScheme(' | |||
|
122 | 122 | 'normal' : Colors.Normal # color off (usu. Colors.Normal) |
|
123 | 123 | } ) |
|
124 | 124 | |
|
125 | NeutralColors = ColorScheme( | |
|
126 | 'Neutral',{ | |
|
127 | 'header' : Colors.Red, | |
|
128 | token.NUMBER : Colors.Cyan, | |
|
129 | token.OP : Colors.Blue, | |
|
130 | token.STRING : Colors.Blue, | |
|
131 | tokenize.COMMENT : Colors.Red, | |
|
132 | token.NAME : Colors.Normal, | |
|
133 | token.ERRORTOKEN : Colors.Red, | |
|
134 | ||
|
135 | _KEYWORD : Colors.Green, | |
|
136 | _TEXT : Colors.Blue, | |
|
137 | ||
|
138 | 'in_prompt' : InputTermColors.Blue, | |
|
139 | 'in_number' : InputTermColors.LightBlue, | |
|
140 | 'in_prompt2' : InputTermColors.Blue, | |
|
141 | 'in_normal' : InputTermColors.Normal, # color off (usu. Colors.Normal) | |
|
142 | ||
|
143 | 'out_prompt' : Colors.Red, | |
|
144 | 'out_number' : Colors.LightRed, | |
|
145 | ||
|
146 | 'normal' : Colors.Normal # color off (usu. Colors.Normal) | |
|
147 | } ) | |
|
148 | ||
|
149 | ||
|
150 | ||
|
125 | 151 | LightBGColors = ColorScheme( |
|
126 | 152 | 'LightBG',{ |
|
127 | 153 | 'header' : Colors.Red, |
@@ -132,6 +158,7 b' LightBGColors = ColorScheme(' | |||
|
132 | 158 | token.NAME : Colors.Normal, |
|
133 | 159 | token.ERRORTOKEN : Colors.Red, |
|
134 | 160 | |
|
161 | ||
|
135 | 162 | _KEYWORD : Colors.Green, |
|
136 | 163 | _TEXT : Colors.Blue, |
|
137 | 164 | |
@@ -147,7 +174,7 b' LightBGColors = ColorScheme(' | |||
|
147 | 174 | } ) |
|
148 | 175 | |
|
149 | 176 | # Build table of color schemes (needed by the parser) |
|
150 | ANSICodeColors = ColorSchemeTable([NoColor,LinuxColors,LightBGColors], | |
|
177 | ANSICodeColors = ColorSchemeTable([NoColor,LinuxColors,LightBGColors, NeutralColors], | |
|
151 | 178 | _scheme_default) |
|
152 | 179 | |
|
153 | 180 | class Parser(Colorable): |
@@ -16,7 +16,7 b' from traitlets.config import Configurable' | |||
|
16 | 16 | from traitlets import Unicode |
|
17 | 17 | |
|
18 | 18 | |
|
19 | available_themes = lambda : [s for s in pygments.styles.get_all_styles()]+['NoColor','LightBG','Linux'] | |
|
19 | available_themes = lambda : [s for s in pygments.styles.get_all_styles()]+['NoColor','LightBG','Linux', 'Neutral'] | |
|
20 | 20 | |
|
21 | 21 | class Colorable(Configurable): |
|
22 | 22 | """ |
General Comments 0
You need to be logged in to leave comments.
Login now