通过inferior-haskell-mode在Emacs中集成ghci非常好用:它增加了一个很棒的功能,可以快速导航到编译错误位置,交互式地检查类型、定义等。然而,在这个设置中我遗漏的主要功能是不能使用ghci的tab自动补全,这对于完成从导入的模块、语言扩展和ghci命令中可用的函数非常有帮助。
我认为,这个功能可能通过将原始的“TAB”字符传递给ghci进程并将其输出读回并粘贴到Emacs缓冲区中来实现。请注意,我没有在Emacs中使用“comint-mode”,所以我可能完全错了。
最后,我们来谈谈我的问题:为什么haskell-mode中缺少这个功能?是否有我不知道的明显问题,难以实现,或者只是由于一些历史原因而缺少(比如“没有人费心去写它”)?您有任何解决此问题的方法吗?(除了在Emacs外运行ghci)