##// END OF EJS Templates
BUG: Don't use readline in the ZMQShell....
epatters -
Show More
@@ -108,6 +108,11 b' def softspace(file, newvalue):'
108 108
109 109 def no_op(*a, **kw): pass
110 110
111 class NoOpContext(object):
112 def __enter__(self): pass
113 def __exit__(self, type, value, traceback): pass
114 no_op_context = NoOpContext()
115
111 116 class SpaceInInput(Exception): pass
112 117
113 118 class Bunch: pass
@@ -242,6 +247,15 b' class InteractiveShell(SingletonConfigurable, Magic):'
242 247 default_value=get_default_colors(), config=True,
243 248 help="Set the color scheme (NoColor, Linux, or LightBG)."
244 249 )
250 colors_force = CBool(False, help=
251 """
252 Force use of ANSI color codes, regardless of OS and readline
253 availability.
254 """
255 # FIXME: This is essentially a hack to allow ZMQShell to show colors
256 # without readline on Win32. When the ZMQ formatting system is
257 # refactored, this should be removed.
258 )
245 259 debug = CBool(False, config=True)
246 260 deep_reload = CBool(False, config=True, help=
247 261 """
@@ -1636,10 +1650,12 b' class InteractiveShell(SingletonConfigurable, Magic):'
1636 1650 self.has_readline = False
1637 1651 self.readline = None
1638 1652 # Set a number of methods that depend on readline to be no-op
1653 self.readline_no_record = no_op_context
1639 1654 self.set_readline_completer = no_op
1640 1655 self.set_custom_completer = no_op
1641 1656 self.set_completer_frame = no_op
1642 warn('Readline services not available or not loaded.')
1657 if self.readline_use:
1658 warn('Readline services not available or not loaded.')
1643 1659 else:
1644 1660 self.has_readline = True
1645 1661 self.readline = readline
@@ -2496,7 +2496,8 b' Currently the magic system has the following functions:\\n"""'
2496 2496
2497 2497 import IPython.utils.rlineimpl as readline
2498 2498
2499 if not readline.have_readline and sys.platform == "win32":
2499 if not shell.colors_force and \
2500 not readline.have_readline and sys.platform == "win32":
2500 2501 msg = """\
2501 2502 Proper color support under MS Windows requires the pyreadline library.
2502 2503 You can find it at:
@@ -2510,7 +2511,7 b' Defaulting color scheme to \'NoColor\'"""'
2510 2511 warn(msg)
2511 2512
2512 2513 # readline option is 0
2513 if not shell.has_readline:
2514 if not shell.colors_force and not shell.has_readline:
2514 2515 new_scheme = 'NoColor'
2515 2516
2516 2517 # Set prompt colors
@@ -84,13 +84,8 b' class ZMQInteractiveShell(InteractiveShell):'
84 84 # Override the traitlet in the parent class, because there's no point using
85 85 # readline for the kernel. Can be removed when the readline code is moved
86 86 # to the terminal frontend.
87
88 # FIXME. This is disabled for now, even though it may cause problems under
89 # Windows, because it breaks %run in the Qt console. See gh-617 for more
90 # details. Re-enable once we've fully tested that %run works in the Qt
91 # console with syntax highlighting in tracebacks.
92 # readline_use = CBool(False)
93 # /FIXME
87 colors_force = CBool(True)
88 readline_use = CBool(False)
94 89
95 90 exiter = Instance(ZMQExitAutocall)
96 91 def _exiter_default(self):
General Comments 0
You need to be logged in to leave comments. Login now