我在emacs中安装了haskel-mode
。然后我在我的.emacs中写道:
(load "~/.emacs.d/haskell-mode/haskell-site-file")
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indentation)
(add-hook 'haskell-mode-hook 'haskell-font-lock-symbols t)
(put 'downcase-region 'disabled nil)
我必须在conf文件中添加什么才能让emacs自动完成Haskell?还是Haskell模式没有这样的可能性?
发布于 2010-08-07 04:49:08
当没有特定语言的支持时,您可以使用标记。这是一个通用的完成机制。
TAGS
文件,其中包含标识符及其定义位置的列表。Emacs附带了etags
程序,可以在许多语言中实现这一点,但不是Haskell;ghc附带的是hasktags
。使用M-x visit-tags-table
.加载
TAGS
文件标签不依赖于上下文,因此它们会不加区别地建议类型、值、构造函数等。它们也不会提供高级功能,比如轻松显示值的类型。最重要的标记命令有:
M-TAB
(complete-symbol
)根据加载的tags.M-.
列表完成标识符(find-tag
)转到定义点的标识符的位置,如果M-TAB
(complete-symbol
)返回到M-.
.M-x tags-apropos
之前的位置,则打开包含文件。find-tag
显示与正则表达式匹配的标识符列表。有关更多信息,请查看Emacs手册中的“标记”部分。
对于更原始但完全自动的机制,有动态缩写功能。C-M-/
(dabbrev-completion
)在大多数打开的缓冲区中查找补全;这是完全独立于语言的,因此它甚至可以在字符串、注释中查找单词。M-/
(dabbrev-expand
)类似,但直接完成到点之前最近的匹配。
发布于 2010-08-08 06:06:42
ghc-mod在Emacs中为Haskell提供了一些补全功能,以及使用hlint和ghc进行检查。结合M-/,它对我来说已经足够好了。
发布于 2010-08-07 03:00:10
haskell-mode
目前没有提供这样的可能性。在CEDET的haskell解析器的实现上有一些工作-在这种情况下,用户将自动获得自动完成功能。但这项工作并不是很久以前就开始了。
https://stackoverflow.com/questions/3424697
复制相似问题