@@ -8,7 +8,7 @@ import { CompositeDisposable, TextEditor } from 'atom'
8
8
import PaneItem from '../util/pane-item'
9
9
import { open } from '../util/opener'
10
10
import views from '../util/views'
11
- import { DebuggerToolbar } from './toolbar'
11
+ import { DebuggerToolbar , buttonView } from './toolbar'
12
12
13
13
// pane for side-to-side view of compiled code and source code
14
14
export default class DebuggerPane extends PaneItem {
@@ -23,7 +23,7 @@ export default class DebuggerPane extends PaneItem {
23
23
DebuggerPane . subs . dispose ( )
24
24
}
25
25
26
- constructor ( stepper , breakpointManager , buttons = [ ] ) {
26
+ constructor ( stepper , breakpointManager , buttons = [ ] , startButtons = [ ] ) {
27
27
super ( )
28
28
29
29
this . subs = new CompositeDisposable ( )
@@ -32,6 +32,7 @@ export default class DebuggerPane extends PaneItem {
32
32
this . breakpointManager = breakpointManager
33
33
34
34
this . toolbar = new DebuggerToolbar ( buttons )
35
+ this . startButtons = startButtons
35
36
36
37
this . stepper . onStep ( arg => this . updateStepper ( arg ) )
37
38
this . breakpointManager . onUpdate ( arg => this . updateBreakpoints ( arg ) )
@@ -107,8 +108,28 @@ export default class DebuggerPane extends PaneItem {
107
108
toolbarView ( ) {
108
109
const expressionHidden = ! this . info . text
109
110
111
+ let run = ( ) => {
112
+ const ed = atom . workspace . getActiveTextEditor ( )
113
+ if ( ed ) {
114
+ atom . commands . dispatch ( atom . views . getView ( ed ) , this . refs . runnerSelector . value )
115
+ }
116
+ }
117
+
110
118
return < div className = "item toolbar" >
111
119
< div className = "inner-toolbar" >
120
+ < div className = "debugger-runner" >
121
+ < button className = "btn icon icon-triangle-right btn-color-success" onclick = { run } >
122
+ </ button >
123
+ < select className = "input-select" ref = "runnerSelector" >
124
+ {
125
+ this . startButtons . map ( btn => {
126
+ return < option value = { btn . command } >
127
+ { btn . text || '' }
128
+ </ option >
129
+ } )
130
+ }
131
+ </ select >
132
+ </ div >
112
133
{ toView ( this . toolbar . view ) }
113
134
< Tip alt = { this . compileModeTip } >
114
135
< div className = "flex-table-container" >
0 commit comments