在 CLI REPL 中添加导航键(箭头键)支持

问题描述 投票:0回答:2

我正在用 golang 创建一个 CLI 工具,我们称之为

repl
。它从由
;
分隔的 stdin 读取指令,将函数应用于读取的语句,并将结果打印到 stdout(并返回到读取)

repl> foo;
"foo"
repl> bar; 
"bar"

如果我将

bar
错拼为
baer
并且想要修复它,我必须删除
a
之前的所有字符,然后重写,而不是能够导航到该字符(使用箭头键)并仅删除该字符。本质上,我试图复制一些商业 REPL(例如 mysql、python 等)中已经存在的行为,您可以使用箭头键在字符之间移动。关于如何做到这一点有什么建议吗?

go command-line-interface read-eval-print-loop
2个回答
0
投票

您可以使用Readline,它有您所要求的以及更多。


0
投票

检查班轮:https://github.com/peterh/liner

受 linenoise 启发,有历史的 Pure Go 行编辑器

© www.soinside.com 2019 - 2024. All rights reserved.