2

我可以在活动的 haskell 会话期间或开始新会话时打开 haskell-process-type 吗?

4

2 回答 2

2

是的,只需在缓冲区中输入以下内容,C-x C-e然后再输入(假设cabal-repl是您的默认设置)。

(setq haskell-process-type 'ghci)

在我的.emacs情况下,我实际上有这个让这很容易,因为我经常这样做:

(define-key haskell-mode-map (kbd "C-c h t") 
  (lambda () (interactive)
    (progn
      (setq haskell-process-type 'ghci)
      (message "Now in ghci mode."))))

然后另一个C-c C-l将以正确的模式加载您的交互式缓冲区。

编辑:现在使用haskell-mode-map

于 2014-12-05T10:28:06.990 回答
2

最后我扩展fosskers回答了一下!

切换进程类型的函数:

(defvar haskell-process-use-ghci nil)

(defun haskell-process-toggle ()
  "Toggle GHCi process between cabal and ghci"
  (interactive)
  (if haskell-process-use-ghci
      (progn (setq haskell-process-type 'cabal-repl)
             (setq haskell-process-use-ghci nil)
             (message "Using cabal repl"))
    (progn (setq haskell-process-type 'ghci)
           (setq haskell-process-use-ghci t)
           (message "Using GHCi"))))

和一个haskell模式特定的键绑定:

(define-key haskell-mode-map (kbd "C-c C-h C-t") 'haskell-process-toggle)
于 2014-12-09T18:14:08.757 回答