Skip to content

Commit

Permalink
Merge pull request #12407 from kmaork/patch-1
Browse files Browse the repository at this point in the history
Allow passing extra options to TerminalPdb.pt_init
  • Loading branch information
Carreau committed Jun 29, 2020
2 parents d6e658d + cc9da29 commit 59c32f0
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions IPython/terminal/debugger.py
Expand Up @@ -26,12 +26,21 @@
class TerminalPdb(Pdb):
"""Standalone IPython debugger."""

def __init__(self, *args, **kwargs):
def __init__(self, *args, pt_session_options=None, **kwargs):
Pdb.__init__(self, *args, **kwargs)
self._ptcomp = None
self.pt_init()

def pt_init(self):
self.pt_init(pt_session_options)

def pt_init(self, pt_session_options=None):
"""Initialize the prompt session and the prompt loop
and store them in self.pt_app and self.pt_loop.
Additional keyword arguments for the PromptSession class
can be specified in pt_session_options.
"""
if pt_session_options is None:
pt_session_options = {}

def get_prompt_tokens():
return [(Token.Prompt, self.prompt)]

Expand Down Expand Up @@ -68,6 +77,7 @@ def gen_comp(self, text):

if not PTK3:
options['inputhook'] = self.shell.inputhook
options.update(pt_session_options)
self.pt_loop = asyncio.new_event_loop()
self.pt_app = PromptSession(**options)

Expand Down

0 comments on commit 59c32f0

Please sign in to comment.