diff --git a/lib/debugger-controller.js b/lib/debugger-controller.js index 5dcb667..aee7367 100644 --- a/lib/debugger-controller.js +++ b/lib/debugger-controller.js @@ -24,6 +24,7 @@ export default class DebuggerController { 'debugger:pause': () => { this.pause() }, 'debugger:step-into': () => { this.stepInto() }, 'debugger:step-over': () => { this.stepOver() }, + 'debugger:step-out': () => { this.stepOut() }, 'debugger:toggle-breakpoint-at-current-line': () => { this.toggleBreakpoint() } }) } @@ -110,6 +111,10 @@ export default class DebuggerController { this.debuggerRegistry.getDebuggerProxy().stepOver() } + stepOut(): void { + this.debuggerRegistry.getDebuggerProxy().stepOut() + } + toggleBreakpoint(): void { const activeEditor = atom.workspace.getActiveTextEditor() diff --git a/lib/debugger-proxy.js b/lib/debugger-proxy.js index b8e968b..abff8c7 100644 --- a/lib/debugger-proxy.js +++ b/lib/debugger-proxy.js @@ -220,6 +220,15 @@ export default class DebuggerProxy { } } + stepOut(): void { + + let debug = this.getActiveDebugger() + + if (debug) { + debug.stepOut() + } + } + getCallStack(): Promise> { let debug = this.getActiveDebugger() diff --git a/lib/types.js b/lib/types.js index 73096a8..59cfea6 100644 --- a/lib/types.js +++ b/lib/types.js @@ -42,6 +42,8 @@ export type Debugger = { stepOver(): void, + stepOut(): void, + insertBreakpoint(breakpoint: Breakpoint): void, getCallStack(): Promise>,