Bil*_*ton 5 terminal console node.js read-eval-print-loop chalk
我发现在repl中为提示添加颜色确实有助于分离输出.我通过使用NPM的粉笔来实现这一点,但这会在提示和光标之间增加一些空间.
var term = repl.start({
prompt: chalk.blue('goose> '),
eval: function(cmd, context, filename, cb){
...
}
});
Run Code Online (Sandbox Code Playgroud)
提示出现如下('|'是光标):
goose> |
Run Code Online (Sandbox Code Playgroud)
有关如何修复的任何想法?
结果很简单:
var prompt = 'My fancy prompt >>> ';
rl.setPrompt(chalk.blue(prompt), prompt.length);
Run Code Online (Sandbox Code Playgroud)
您需要指定字符数,因为readline
不明白转义序列实际上显示为零宽度。
(这是基于 Felix 的回答。)