在Emacs中转到定义 - Haskell模式

3 emacs haskell

Haskell Mode通过Melpa 安装package-install.但是,M - .(goto-definition)仍然使用emacs的内置findTags函数.没有haskell模式有这个goto函数定义功能吗?

Chr*_*ris 7

haskell-mode-jump-to-def默认情况下不绑定,但您可以自己绑定它:

使用GHCi

您可以绑定以下内容以使用GHCi查找事物的定义:

(define-key haskell-mode-map (kbd "M-.") 'haskell-mode-jump-to-def)
Run Code Online (Sandbox Code Playgroud)

这种方法的一个问题是,如果您的代码无法编译,GHCi不会提供任何位置信息.因此,您需要确保编译代码并且要跳转到的模块是按字节编译加载的.

或者,您可以使用标签文件或GHCi /标签混合方法,如稍后在同一页面上所建议的那样.

  • 什么是扭转这种情况并跳回你来自哪里的最好方法? (2认同)
  • 看起来我不得不使用`M-*`,它叫`pop-tag-mark`.我在'clojure-mode`中使用`M-,`,但由于某些原因它在这里不起作用. (2认同)