【问题标题】:ghci tab-completion in haskell-modeghci tab-completion in haskell-mode
【发布时间】:2012-02-24 13:46:41
【问题描述】:

通过inferior-haskell-mode 将ghci 与Emacs 集成非常好:这增加了快速导航到编译错误位置、交互式检查类型、定义等的绝佳可能性。不过,我在其中缺少的主要功能此设置无法使用 ghci tab-completion,这对于完成导入模块、语言扩展和 ghci 命令提供的功能非常有帮助。

我假设通过将原始“TAB”字符传递给 ghci 进程,读取其输出并将结果粘贴到 Emacs 缓冲区中,可以相当简单地实现此功能。请注意,我没有在 Emacs 中使用“comint-mode”,所以我可能完全错了。

最后,我们来到了我的问题:为什么haskell-mode 缺少这个功能?有没有我不知道的明显问题,是难以实施,还是只是由于某些历史原因? (就像“没有人费心写它”)。你有解决这个问题的方法吗? (除了在 Emacs 之外运行 ghci)

【问题讨论】:

    标签: haskell emacs ghci


    【解决方案1】:

    查看ghc-mode,它建立在 haskell-mode 之上并添加了自动完成和其他一些功能。

    还有一个haskell-emacs 模式,它不同于haskell-mode。它还具有自动完成功能。虽然它很古怪,而且在我尝试时并不总是有效。

    【讨论】:

    • 我刚刚安装了 ghc-mod,我喜欢它的自动补全和 hlint 集成(尽管我必须稍微调整一下以适应我的需要)。但是,它的自动完成功能在 ghci 缓冲区中仍然无法正常工作:据我了解,“ghc-complete”函数分析当前缓冲区(以查找导入),而 ghci 缓冲区不是它所期望的。所以它只建议一些关键字并忽略我在 ghci 缓冲区中输入的任何“:m + Data.List”。
    • 我也尝试过 Chris Done 的“haskell-emacs”,但这些天没有完全记录(因为它仍处于测试阶段),所以我决定稍后再回来。跨度>
    猜你喜欢
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 2011-12-18
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多