【发布时间】:2015-03-18 13:50:05
【问题描述】:
其他 REPL,e.g. Octave,具有用于浏览命令历史记录的专用命令。我觉得这很方便(尽管每当我使用这样的功能时,我都会问自己,为什么我没有首先在文件中正确定义该命令?)。
GHCi 似乎没有这样的功能,我认为它可能不应该 - 这样的交互性会使 Emacs 控制之类的尝试变得比现在更麻烦。
然而,简单地获取整个历史,然后使用普通的 Haskell 浏览它,这听起来是一项相当微不足道的任务。类似的东西已经在任何地方实施了吗?
【问题讨论】:
-
一个相关的问题是如何将
:browse或tab-auto-completion 等命令的输出放入可用的Haskell 列表中。 -
这是关于将
history :: IO [String]添加到 GHCi 的问题,对吧? AFAIK,没有这样的功能。对于:browse,不知Distribution.HaskellSuite.Modules能不能做到。 -
是的,这正是我要找的。像
searchHistory :: (String -> Bool) -> IO ()这样的东西可能会更有用(在匹配命令“forward”之前添加,这样就可以使用向上箭头访问和执行它),尽管这个想法看起来有点程序化/破坏性。 -
@leftaroundabout:你知道有反向搜索吗? Ctrl+R,就像在 bash 中一样。这是你要找的吗?
-
@Zeta:哇,就这么简单??好吧,我应该尝试过自己不应该......想知道,我应该关闭这个问题,还是改写它以专注于字符串阅读历史或其他内容,或者你会发布
ctrl+r作为答案吗?
标签: haskell read-eval-print-loop ghci