##// END OF EJS Templates
fix uncaught `BdbQuit` exceptions on ipdb `exit`...
fix uncaught `BdbQuit` exceptions on ipdb `exit` - `BdbQuit` is now handled in the top-most scope of `InteractiveShell.run_code`. This ensures that `BdbQuit` is correctly handled but can still do its job of breaking out of all user code/loops/further breakpoint requests. Hopefully will work better than previous attempts, which put the `BdqQuit` handling in `Pdb.set_trace` - fixes: - jupyterlab/jupyterlab#12501 - refs: - ipython/ipython#876 - ipython/ipython#1273 - ipython/ipython#4474 - ipython/ipython#5306 - ipython/ipython#9731 - ipython/ipython#9942 - ipython/ipython#9950 - ipython/ipython#10006 - ipython/ipython#12378

File last commit:

r22430:95ed0855
r27658:fc235985
Show More
cwd_prompt.py
26 lines | 616 B | text/x-python | PythonLexer
Matthias Bussonnier
Add some documentation on how to configure prompts.
r22430 """This is an example that shows how to create new prompts for IPython
"""
from IPython.terminal.prompts import Prompts, Token
import os
class MyPrompt(Prompts):
def in_prompt_tokens(self, cli=None):
return [(Token, os.getcwd()),
(Token.Prompt, '>>>')]
def load_ipython_extension(shell):
new_prompts = MyPrompt(shell)
new_prompts.old_prompts = shell.prompts
shell.prompts = new_prompts
def unload_ipython_extension(shell):
if not hasattr(shell.prompts, 'old_prompts'):
print("cannot unload")
else:
shell.prompts = shell.prompts.old_prompts