Haskell Emacs haskell-mode:运行'C-h f haskell-mode'以获取有关如何设置 Haskell 交互模式的说明



我正在按照 https://learnhaskell.blogspot.com/2007/09/lesson-1-hello-world.html 中的教程进行操作

我按照所有说明进行操作,但是在 emacs 上输入C-c C-l时,我得到了Run 'C-h f haskell-mode' for instruction how to setup a Haskell interaction mode

当我输入它时,它会带我一个不是很有帮助的页面。

接下来我该怎么做?我完全按照教程中的步骤操作,除了删除ghi, emacs的版本号以进行apt

我的.emacs文件如下,与博客中的一模一样。

;; Font Locking, Programming Modes, and Compilation settings
;;
(global-font-lock-mode 1)
;; maximum colors
(setq font-lock-maximum-decoration t)
;; extra key bindings
(global-set-key "M-C" 'compile)
(global-set-key "C-^" 'next-error)
(global-set-key "C-M-g" 'goto-line)
;; use spaces instead of tabs
(setq-default indent-tabs-mode nil)
;; haskell mode configuration
(setq auto-mode-alist
(append auto-mode-alist
'(("\.[hg]s$"  . haskell-mode)
("\.hic?$"     . haskell-mode)
("\.hsc$"     . haskell-mode)
("\.chs$"    . haskell-mode)
("\.l[hg]s$" . literate-haskell-mode))))
(autoload 'haskell-mode "haskell-mode"
"Major mode for editing Haskell scripts." t)
(autoload 'literate-haskell-mode "haskell-mode"
"Major mode for editing literate Haskell scripts." t)
;adding the following lines according to which modules you want to use:
(require 'inf-haskell)
(add-hook 'haskell-mode-hook 'turn-on-font-lock)
;(add-hook 'haskell-mode-hook 'turn-off-haskell-decl-scan)
;(add-hook 'haskell-mode-hook 'turn-off-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)
;(add-hook 'haskell-mode-hook 'turn-on-haskell-simple-indent)
;(add-hook 'haskell-mode-hook 'turn-on-haskell-hugs)
(add-hook 'haskell-mode-hook 'turn-on-haskell-ghci)
(add-hook 'haskell-mode-hook 
(function
(lambda ()
(setq haskell-program-name "ghci")
(setq haskell-ghci-program-name "ghci6"))))

必须启用次要模式interactive-haskell-mode才能打开Haskell代码缓冲区和Haskell解释器之间的交互式会话。您可以使用命令M-x interactive-haskell-mode为当前缓冲区启用此模式。

要为您打开的每个 Haskell 文件启用此模式,您可以设置一个haskell-mode钩子,每次启用haskell-mode时都会运行此命令(即启用interactive-haskell-mode)。应将以下行添加到 .emacs 文件中:

(add-hook 'haskell-mode-hook 'interactive-haskell-mode)

最新更新