@@ -140,16 +140,39 @@ Terminal.prototype.print = function (text) {
140140 input . reprompt ( ) ;
141141} ;
142142
143+ let executeCallback = null ;
144+
143145/**
144146 * Print the text on terminal.
145147 * @param {string } command
146- * @param {boolean=false } echo
147- * @param {boolean=false } prompt
148+ * @param {{ [echo]: boolean=false, [prompt]: boolean=false } } [options]
149+ * @param {function } [callback]
148150 */
149- Terminal . prototype . execute = function ( command , { echo = false , prompt = false } = { } ) {
150- server . send ( "Execute" , { command, echo : + echo , prompt : + prompt } ) ;
151+ Terminal . prototype . execute = function ( command , options , callback ) {
152+ if ( typeof options === "function" ) {
153+ callback = options ;
154+ }
155+ if ( typeof options !== "object" ) {
156+ options = { } ;
157+ }
158+ server . send ( "Execute" , {
159+ command,
160+ echo : + ( options . echo || 0 ) ,
161+ prompt : + ( options . prompt || 0 ) ,
162+ bufferOutput : + ( typeof callback === "function" )
163+ } ) ;
164+ if ( typeof callback === "function" ) {
165+ executeCallback = callback ;
166+ }
151167} ;
152168
169+ export function promptCallback ( data ) {
170+ if ( typeof executeCallback === "function" ) {
171+ executeCallback ( [ data ] ) ;
172+ executeCallback = null ;
173+ }
174+ }
175+
153176function initialize ( ) {
154177 let text = locale . get ( `beforeInit` ) ,
155178 urlParams = getURLParams ( ) ;
0 commit comments