【发布时间】:2019-09-21 17:54:03
【问题描述】:
我正在使用 RLWrap 来“驯服”一个非常好的 REPL,即 Dyalog APL,不幸的是,它起源于 Windows 领域,因此不符合 UNIX 约定。此外,作为一个封闭源代码的产品,它不能被修改为这样做。
我设法实现了我的大部分目标,但 Ctrl-D 仍然会导致它发出错误并继续运行, 而我希望它像任何其他 REPL 一样优雅地退出。
我查看了 rlwrap 选项以及它的过滤器 API,以寻找一种拦截来自用户的 EOF 并将其转换为自定义退出命令的方法,在我的情况下是 )off,但我不能想办法去做。
我现在的别名:
alias dyalog='rlwrap -a -H ~/.dyalog_history /opt/mdyalog/17.0/64/unicode/dyalog -b -s'
相关选项有:
-
-s告诉 Dyalog 以简单的 REPL 模式启动,而不控制屏幕; -
-a告诉 RLWrap 始终保持在 readline 模式,忽略 Dyalog 逐个字符读取输入的尝试。
【问题讨论】: