mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
debugshell: check ui.debugger for which debugger to use
This commit is contained in:
parent
12aa25fc95
commit
e9de00a5cf
@ -1,6 +1,7 @@
|
||||
# debugshell extension
|
||||
"""a python shell with repo, changelog & manifest objects"""
|
||||
|
||||
import sys
|
||||
import mercurial
|
||||
import code
|
||||
|
||||
@ -27,7 +28,24 @@ def debugshell(ui, repo, **opts):
|
||||
"using source: %s" % (repo.root,
|
||||
mercurial.__path__[0])
|
||||
|
||||
pdb(ui, repo, bannermsg, **opts)
|
||||
pdbmap = {
|
||||
'pdb' : 'code',
|
||||
'ipdb' : 'IPython'
|
||||
}
|
||||
|
||||
debugger = ui.config("ui", "debugger")
|
||||
if not debugger:
|
||||
debugger = 'pdb'
|
||||
|
||||
# if IPython doesn't exist, fallback to code.interact
|
||||
try:
|
||||
__import__(pdbmap[debugger])
|
||||
except ImportError:
|
||||
ui.warn("%s debugger specified but %s module was not found\n"
|
||||
% (debugger, pdbmap[debugger]))
|
||||
debugger = 'pdb'
|
||||
|
||||
getattr(sys.modules[__name__], debugger)(ui, repo, bannermsg, **opts)
|
||||
|
||||
cmdtable = {
|
||||
"debugshell|dbsh": (debugshell, [])
|
||||
|
Loading…
Reference in New Issue
Block a user