Я хочу интегрировать модуль узла blessed и vorpal, Может ли кто-нибудь дать мне несколько советов о том, как интегрировать этот два модуля, Спасибо U очень много!Как интегрировать модуль узла vorpal и blessed
Ниже приведен код проекта (только для справки), Моя цель - левая часть терминала, используемая для интерактивного CLI vorpal, и верхняя правая часть, используемая для выхода журнала.
var blessed = require('blessed')
, screen;
var vorpal = require('vorpal')();
vorpal
.command('foo', 'bar')
.action(function(args, callback) {
this.log('bar');
callback();
});
vorpal
.delimiter('testapp$')
.show();
screen = blessed.screen({
dump: __dirname + '/logs/logger.log',
smartCSR: true,
autoPadding: false,
warnings: true
});
//This area I want the vorpal interactive CLI
var leftPart = blessed.box({
parent: screen,
left: 0,
top: 0,
width: '50%',
height: '100%',
border: {
type: 'line',
left: false,
top: false,
right: true,
bottom: false
},
// border: 'line',
content: 'I want here is the normal terminal input/output with vorpal style\n'+
'How can I do this?'
//content:vorpal
});
//This area with be the log output area
var logger = blessed.log({
parent: screen,
top: '0',
left: '50%-1',
width: '50%-1',
height: '50%-1',
border: 'line',
tags: true,
keys: true,
vi: true,
mouse: true,
scrollback: 100,
scrollbar: {
ch: ' ',
track: {
bg: 'yellow'
},
style: {
inverse: true
}
}
});
leftPart.focus();
setInterval(function() {
logger.log('Hello {#0fe1ab-fg}world{/}: {bold}%s{/bold}.', Date.now().toString(36));
//screen.render();
}, 1000).unref();
screen.key('q', function() {
return screen.destroy();
});
screen.render();
Я положил окно журнала сверху, ввод команды в Vorpal будет удвоен, например, «help» будет «hheellpp» –
Ah snap. Да, я думаю, это потому, что и Vorpal, и Blessed слушают 'stdin', и поэтому он удваивает все. Мне нужно провести некоторое исследование, чтобы обойти это! – dthree
Большое спасибо :) –