From 27aabb3063cb50bfa5f950a25d3e37e3290c2bd4 Mon Sep 17 00:00:00 2001 From: Dominique Orban Date: Mon, 6 Nov 2017 22:31:19 -0500 Subject: [PATCH 1/3] improve opening relevant file --- lib/python-debugger-view.coffee | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/python-debugger-view.coffee b/lib/python-debugger-view.coffee index 86fb3e5..e5cb325 100644 --- a/lib/python-debugger-view.coffee +++ b/lib/python-debugger-view.coffee @@ -111,9 +111,12 @@ class PythonDebuggerView extends View if lineNumber && fileName lineNumber = parseInt(lineNumber) - options = {initialLine: lineNumber-1, initialColumn:0} - atom.workspace.open(fileName, options) if fs.existsSync(fileName) - # TODO: add decoration to current line? + atom.workspace.open(fileName).then (editor) -> + position = Point(lineNumber - 1, 0) + editor.setCursorBufferPosition(position) + editor.unfoldBufferRow(lineNumber) + editor.scrollToBufferPosition(position) + # TODO: add decoration to current line? @addOutput(data_str.trim()) From ec4001f4b77b75cbaa97bdb5a257e89db9cf3a7d Mon Sep 17 00:00:00 2001 From: Dominique Orban Date: Mon, 6 Nov 2017 22:37:11 -0500 Subject: [PATCH 2/3] move clear button --- lib/python-debugger-view.coffee | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/python-debugger-view.coffee b/lib/python-debugger-view.coffee index e5cb325..3a8606a 100644 --- a/lib/python-debugger-view.coffee +++ b/lib/python-debugger-view.coffee @@ -40,8 +40,8 @@ class PythonDebuggerView extends View @span "run" @button outlet: "stopBtn", click: "stopApp", class: "btn", => @span "stop" - @button outlet: "clearBtn", click: "clearOutput", class: "btn", => - @span "clear" + @button class: "btn", => + @span " " @button outlet: "stepOverBtn", click: "stepOverBtnPressed", class: "btn", => @span "next" @button outlet: "stepInBtn", click: "stepInBtnPressed", class: "btn", => @@ -50,6 +50,8 @@ class PythonDebuggerView extends View @span "continue" @button outlet: "returnBtn", click: "returnBtnPressed", class: "btn", => @span "return" + @button outlet: "clearBtn", click: "clearOutput", class: "btn", => + @span "clear" @div class: "panel-body", outlet: "outputContainer", => @pre class: "command-output", outlet: "output" From 82a8227f2bb712236e70b31abce52c6ba583ffe7 Mon Sep 17 00:00:00 2001 From: Dominique Orban Date: Mon, 6 Nov 2017 22:39:28 -0500 Subject: [PATCH 3/3] add variables button --- lib/python-debugger-view.coffee | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/python-debugger-view.coffee b/lib/python-debugger-view.coffee index 3a8606a..139d900 100644 --- a/lib/python-debugger-view.coffee +++ b/lib/python-debugger-view.coffee @@ -46,10 +46,16 @@ class PythonDebuggerView extends View @span "next" @button outlet: "stepInBtn", click: "stepInBtnPressed", class: "btn", => @span "step" - @button outlet: "continueBtn", click: "continueBtnPressed", class: "btn", => - @span "continue" + @button outlet: "varBtn", click: "varBtnPressed", class: "btn", => + @span "variables" + @button class: "btn", => + @span " " @button outlet: "returnBtn", click: "returnBtnPressed", class: "btn", => @span "return" + @button outlet: "continueBtn", click: "continueBtnPressed", class: "btn", => + @span "continue" + @button class: "btn", => + @span " " @button outlet: "clearBtn", click: "clearOutput", class: "btn", => @span "clear" @div class: "panel-body", outlet: "outputContainer", => @@ -93,6 +99,12 @@ class PythonDebuggerView extends View return @runBackendDebugger() + varBtnPressed: -> + @backendDebugger?.stdin.write("for (__k, __v) in [(__k, __v) for __k, __v in globals().items() if not __k.startswith('__')]: print __k, '=', __v\n") + @backendDebugger?.stdin.write("print '-------------'\n") + @backendDebugger?.stdin.write("for (__k, __v) in [(__k, __v) for __k, __v in locals().items() if __k != 'self' and not __k.startswith('__')]: print __k, '=', __v\n") + @backendDebugger?.stdin.write("for (__k, __v) in [(__k, __v) for __k, __v in (self.__dict__ if 'self' in locals().keys() else {}).items()]: print 'self.{0}'.format(__k), '=', __v\n") + # Extract the file name and line number output by the debugger. processDebuggerOutput: (data) -> data_str = data.toString().trim()