为repl提示添加颜色(节点)

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)

有关如何修复的任何想法?

mik*_*1aj 5

结果很简单:

var prompt = 'My fancy prompt >>> ';
rl.setPrompt(chalk.blue(prompt), prompt.length);
Run Code Online (Sandbox Code Playgroud)

您需要指定字符数,因为readline不明白转义序列实际上显示为零宽度。

(这是基于 Felix 的回答。)