Show More
@@ -113,7 +113,7 b' class DisplayHook(Configurable):' | |||
|
113 | 113 | """ |
|
114 | 114 | # Use write, not print which adds an extra space. |
|
115 | 115 | sys.stdout.write(self.shell.separate_out) |
|
116 | outprompt = self.shell.prompt_manager.render('out') | |
|
116 | outprompt = 'Out[{}]: '.format(self.shell.execution_count) | |
|
117 | 117 | if self.do_full_cache: |
|
118 | 118 | sys.stdout.write(outprompt) |
|
119 | 119 |
@@ -1,4 +1,7 b'' | |||
|
1 | 1 | from pygments.token import Token |
|
2 | import sys | |
|
3 | ||
|
4 | from IPython.core.displayhook import DisplayHook | |
|
2 | 5 | |
|
3 | 6 | class Prompts(object): |
|
4 | 7 | def __init__(self, shell): |
@@ -34,3 +37,14 b' class Prompts(object):' | |||
|
34 | 37 | (Token.OutPromptNum, str(self.shell.execution_count)), |
|
35 | 38 | (Token.OutPrompt, ']: '), |
|
36 | 39 | ] |
|
40 | ||
|
41 | class RichPromptDisplayHook(DisplayHook): | |
|
42 | """Subclass of base display hook using coloured prompt""" | |
|
43 | def write_output_prompt(self): | |
|
44 | sys.stdout.write(self.shell.separate_out) | |
|
45 | if self.do_full_cache: | |
|
46 | tokens = self.shell.prompts.out_prompt_tokens() | |
|
47 | if self.shell.pt_cli: | |
|
48 | self.shell.pt_cli.print_tokens(tokens) | |
|
49 | else: | |
|
50 | print(*(s for t, s in tokens), sep='') |
@@ -29,7 +29,7 b' from pygments.token import Token' | |||
|
29 | 29 | from .debugger import TerminalPdb, Pdb |
|
30 | 30 | from .pt_inputhooks import get_inputhook_func |
|
31 | 31 | from .interactiveshell import get_default_editor, TerminalMagics |
|
32 | from .prompts import Prompts | |
|
32 | from .prompts import Prompts, RichPromptDisplayHook | |
|
33 | 33 | from .ptutils import IPythonPTCompleter, IPythonPTLexer |
|
34 | 34 | |
|
35 | 35 | _use_simple_prompt = 'IPY_TEST_SIMPLE_PROMPT' in os.environ or not sys.stdin.isatty() |
@@ -105,6 +105,9 b' class TerminalInteractiveShell(InteractiveShell):' | |||
|
105 | 105 | def _prompts_default(self): |
|
106 | 106 | return Prompts(self) |
|
107 | 107 | |
|
108 | def _displayhook_class_default(self): | |
|
109 | return RichPromptDisplayHook | |
|
110 | ||
|
108 | 111 | term_title = Bool(True, |
|
109 | 112 | help="Automatically set the terminal title" |
|
110 | 113 | ).tag(config=True) |
@@ -228,6 +231,8 b' class TerminalInteractiveShell(InteractiveShell):' | |||
|
228 | 231 | style_overrides = { |
|
229 | 232 | Token.Prompt: '#009900', |
|
230 | 233 | Token.PromptNum: '#00ff00 bold', |
|
234 | Token.OutPrompt: '#990000', | |
|
235 | Token.OutPromptNum: '#ff0000 bold', | |
|
231 | 236 | } |
|
232 | 237 | if name == 'default': |
|
233 | 238 | style_cls = get_style_by_name('default') |
General Comments 0
You need to be logged in to leave comments.
Login now