好的,所以Chicken-scheme有一个很棒的readline蛋,可用于向csi
命令行环境添加历史记录,标签完成和其他合理功能。但是,我似乎无法正常 EM>
我已经检查了鸡蛋和其他类似鸡蛋的文档,例如linenoise和parley,但它们都没有提供标签完成或任何有关如何解决这个缺点的建议readline的。
以下是与我合作的代码:
csi
注意
在写这篇文章的时候,我想我可能已经找到了问题或至少部分问题。我认为,问题在于我安装历史文件;因为它只适用于首次安装?
然而,我尝试烹饪我自己的readline (current-input-port (make-gnu-readline-port))
(gnu-history-install-file-manager
(string-append (or (get-environment-variable "HOME") ".") "/.csi_history"))
设置使得gnu readline 永远不会写入历史文件,但是,它将从中读取
file-manager
还有其他人遇到过这个问题吗?
答案 0 :(得分:0)
事实证明,在我的~/.zshrc
文件中,我有csi
的别名,其中csi
名为rlwrap
:
alias csi='rlwrap csi'
在rlwrap
上调用csi
导致csi
使用rlwrap
的历史记录而不是readline提供的内置历史记录蛋
答案 1 :(得分:0)
在鸡计划中不建议使用readline来安装linenoise
并将其放入您的.csirc:
(import linenoise)
(current-input-port (make-linenoise-port))
(set-history-length! 300)
(load-history-from-file ".linenoise-history")
(let loop ((expr (linenoise "> ")))
(cond ((equal? expr "bye")
(save-history-to-file ".linenoise-history")
"Bye!")
(else
(display (eval (read (open-input-string expr))))
(newline)
(history-add expr)
(loop (linenoise "> ")))))