0xA*_*xAX 20 emacs haskell autocomplete haskell-mode
我安装haskel-mode在emacs中.然后我写了我的.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)
Run Code Online (Sandbox Code Playgroud)
我必须在我的conf文件中添加哪些内容,emacs可以为Haskell自动完成?还是Haskell模式没有这种可能性?
Gil*_*il' 18
如果没有特定于语言的支持,则可以使用标记.这是一种通用的完成机制.
生成一个TAGS文件,其中包含标识符列表及其定义位置.Emacs附带了etags以多种语言执行此操作的程序,但不是Haskell; ghc附带hasktags.
加载TAGS文件M-x visit-tags-table.
标签不依赖于上下文,因此它们会随处乱提出类型,值,构造函数等.它们也不会提供高级功能,例如轻松显示值的类型.最重要的标签命令是:
M-TAB(complete-symbol)根据加载的标签列表完成标识符.
M-.(find-tag)转到定义点标识符的位置,必要时打开包含文件.
M-*(pop-tag-mark)回到原来的位置M-..
M-x tags-apropos 显示与正则表达式匹配的标识符列表.
有关更多信息,请查看Emacs手册中的"标签".
对于更加平坦,但全自动机制,有动态缩写功能.C-M-/(dabbrev-completion)在大多数打开的缓冲区中查找完成; 这完全是与语言无关的,所以它甚至可以在字符串,注释等中找到单词.M-/(dabbrev-expand)类似,但直接完成到点之前的最近匹配.
haskell-mode目前没有提供这种可能性.有一些关于为CEDET实现haskell解析器的工作 - 在这种情况下,用户将自动获得自动完成功能.但是这项工作已经开始了很久以前......
| 归档时间: |
|
| 查看次数: |
7235 次 |
| 最近记录: |