Переключение типа haskell-process между cabal-repl и ghci

Могу ли я включить тип процесса haskell во время активного сеанса haskell или при запуске нового сеанса?

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 сейчас.

В конце концов я расширил ответ фоссеров немного!

Функция для переключения типа процесса:

(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)
Другие вопросы по тегам