mirror of
https://github.com/nuintun/command-manager.git
synced 2025-06-07 11:34:05 +08:00
update files
This commit is contained in:
parent
0de8de60c8
commit
3671a3c456
@ -161,18 +161,21 @@ module.exports = Vue.component('app-main', {
|
|||||||
context.expandCommand = trigger && trigger.contains(target);
|
context.expandCommand = trigger && trigger.contains(target);
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
window.TERMSTR = '';
|
|
||||||
|
|
||||||
ipc.on('emulator', function (event, type, project, data){
|
ipc.on('emulator', function (event, type, project, data){
|
||||||
worker.postMessage({ action: 'write', name: project.name, data: data + '' });
|
switch (type) {
|
||||||
|
case 'data':
|
||||||
window.TERMSTR += JSON.stringify(data.toString()) + '\n';
|
data = data.toString();
|
||||||
|
break;
|
||||||
|
case 'error':
|
||||||
|
data = '\u001b[31m发生错误: \u001b[0m' + data.toString();
|
||||||
|
break;
|
||||||
|
case 'close':
|
||||||
|
data = '\u001b[32m命令执行完成\u001b[0m';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
worker.postMessage({ action: 'write', name: project.name, data: data.toString() });
|
||||||
// event.sender.send('emulator', project, 'stop');
|
// event.sender.send('emulator', project, 'stop');
|
||||||
});
|
});
|
||||||
|
|
||||||
window.doWrite = function (){
|
|
||||||
require('fs').writeFile('./screen.text', window.TERMSTR);
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
ready: function (){
|
ready: function (){
|
||||||
var context = this;
|
var context = this;
|
||||||
@ -183,8 +186,6 @@ module.exports = Vue.component('app-main', {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
window.worker = worker;
|
|
||||||
|
|
||||||
openXTerm(this.project.name);
|
openXTerm(this.project.name);
|
||||||
}
|
}
|
||||||
});
|
});
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
importScripts('../../terminal/index.js');
|
importScripts('../../terminal/index.js');
|
||||||
|
|
||||||
|
var ACTIVE;
|
||||||
var RUNTIMECACHE = {};
|
var RUNTIMECACHE = {};
|
||||||
|
|
||||||
function send(name, xterm){
|
function send(name, xterm){
|
||||||
@ -16,22 +17,37 @@ function send(name, xterm){
|
|||||||
}
|
}
|
||||||
|
|
||||||
onmessage = function (event){
|
onmessage = function (event){
|
||||||
|
var xterm;
|
||||||
var message = event.data;
|
var message = event.data;
|
||||||
|
|
||||||
switch (message.action) {
|
switch (message.action) {
|
||||||
case 'open':
|
case 'open':
|
||||||
RUNTIMECACHE[message.name] = RUNTIMECACHE[message.name] || new AnsiTerminal(120, 60, 0);
|
xterm = RUNTIMECACHE[message.name];
|
||||||
send(message.name, RUNTIMECACHE[message.name]);
|
|
||||||
|
if (!xterm) {
|
||||||
|
xterm = new AnsiTerminal(120, 60, 0);
|
||||||
|
xterm.newline_mode = true;
|
||||||
|
RUNTIMECACHE[message.name] = xterm;
|
||||||
|
}
|
||||||
|
|
||||||
|
ACTIVE = message.name;
|
||||||
|
|
||||||
|
send(message.name, xterm);
|
||||||
break;
|
break;
|
||||||
case 'close':
|
case 'close':
|
||||||
delete RUNTIMECACHE[message.name];
|
delete RUNTIMECACHE[message.name];
|
||||||
break;
|
break;
|
||||||
case 'write':
|
case 'write':
|
||||||
var xterm = RUNTIMECACHE[message.name];
|
xterm = RUNTIMECACHE[message.name];
|
||||||
|
|
||||||
xterm.write(message.data);
|
if (ACTIVE === message.name) {
|
||||||
|
xterm.write(message.data);
|
||||||
send(message.name, xterm);
|
send(message.name, xterm);
|
||||||
|
} else {
|
||||||
|
setTimeout(function (){
|
||||||
|
xterm.write(message.data);
|
||||||
|
}, 16);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user