git return value insead of logging

pull/5370/head
yann300 4 years ago
parent 6c40c2a62b
commit 004f88069f
  1. 14
      apps/remix-ide/src/app/panels/terminal.js
  2. 6
      libs/remixd/src/services/gitClient.ts

@ -104,12 +104,6 @@ class Terminal extends Plugin {
this.on('scriptRunner', 'error', (msg) => { this.on('scriptRunner', 'error', (msg) => {
this.commands.error.apply(this.commands, msg.data) this.commands.error.apply(this.commands, msg.data)
}) })
this.on('git', 'log', (result) => {
this.commands.html(yo`<pre>${result}</pre>`)
})
this.on('git', 'error', (result) => {
this.commands.html(yo`<pre>${result}</pre>`)
})
} }
onDeactivation () { onDeactivation () {
@ -117,8 +111,6 @@ class Terminal extends Plugin {
this.off('scriptRunner', 'info') this.off('scriptRunner', 'info')
this.off('scriptRunner', 'warn') this.off('scriptRunner', 'warn')
this.off('scriptRunner', 'error') this.off('scriptRunner', 'error')
this.off('git', 'log')
this.off('git', 'error')
} }
logHtml (html) { logHtml (html) {
@ -755,11 +747,13 @@ class Terminal extends Plugin {
} }
} }
try { try {
let result
if (script.trim().startsWith('git')) { if (script.trim().startsWith('git')) {
await this.call('git', 'execute', script) result = await this.call('git', 'execute', script)
} else { } else {
await this.call('scriptRunner', 'execute', script) result = await this.call('scriptRunner', 'execute', script)
} }
if (result) self.commands.html(yo`<pre>${result}</pre>`)
done() done()
} catch (error) { } catch (error) {
done(error.message || error) done(error.message || error)

@ -23,6 +23,7 @@ export class GitClient extends PluginClient {
const child = spawn(cmd, options) const child = spawn(cmd, options)
let result = '' let result = ''
let error = '' let error = ''
return new Promise((resolve, reject) => {
child.stdout.on('data', (data) => { child.stdout.on('data', (data) => {
result += data.toString() result += data.toString()
}) })
@ -30,8 +31,9 @@ export class GitClient extends PluginClient {
error += err.toString() error += err.toString()
}) })
child.on('close', () => { child.on('close', () => {
if (error !== '') this.emit('error', error) if (error) reject(error)
else this.emit('log', result) else resolve(result)
})
}) })
} }
} }

Loading…
Cancel
Save