JQuery终端:如何不换行回显

JQuery Terminal: How to echo without line break

是否可以在不换行的情况下回显?例如,假设我想让三个点相继出现一秒:

this.echo(".");
await sleep(1000);
this.echo(".");
await sleep(1000);
this.echo(".");

目前显示为:

.
.
.

但是我需要它显示为:

...

版本 2.8.0 你可以只使用:

<script src="https://unpkg.com/jquery.terminal@2.8.0/js/echo_newline.js"></script>

它将为 echo 添加新选项(脚本是 monkey patch over echo 但它比示例中的好一点,并且它有单元测试覆盖率)。

this.echo(".", {newline: false});
await sleep(1000);
this.echo(".", {newline: false});
await sleep(1000);
this.echo(".", {newline: false});

那么如果你输入命令 "foo" 你将:

...> foo
> |

并且如果您用换行符回显点(默认为 true),您将拥有:

....
> |

您甚至可以使用:

term.echo('hello ', {newline: false});
term.echo('foo\n', {newline: false});

在未来的版本中,我可能会为整个终端引入选项换行符,这样你将始终需要为具有此选项的终端添加 \n(但你仍然需要 echo_newline.js 文件).