diff --git a/core/core-popup.el b/core/core-popup.el index 2d64c8dd8..222cc4dcf 100644 --- a/core/core-popup.el +++ b/core/core-popup.el @@ -13,6 +13,7 @@ '(;; Debuggers ("\\`\\*\\(g\\|zsh\\|bash\\)db.*?\\*\\'" :regexp t :align below :size 20) ("\\`\\*trepanjs.*?\\*\\'" :regexp t :align below :size 20) + ("\\`\\*\\(debug:\\)haskell\\*\\'" :regexp t :align below :size 20) ;; Plugins ("*helm bookmarks*" :align below :size 7 :select t) diff --git a/core/defuns/defuns-debug.el b/core/defuns/defuns-debug.el index 3f981ff0a..0bffde974 100644 --- a/core/defuns/defuns-debug.el +++ b/core/defuns/defuns-debug.el @@ -56,6 +56,8 @@ ;; TODO Add python debugging ((memq major-mode '(js-mode js2-mode js3-mode)) (realgud:trepanjs)) + ((eq major-mode 'haskell-mode) + (haskell-debug)) (t (user-error "No debugger for %s" major-mode))))) ;;;###autoload (autoload 'narf:debug-toggle-breakpoint "defuns-debug" nil t) diff --git a/modules/module-haskell.el b/modules/module-haskell.el index 0af2fea44..dd81f4860 100644 --- a/modules/module-haskell.el +++ b/modules/module-haskell.el @@ -1,19 +1,19 @@ ;;; module-haskell.el -(use-package haskell-mode - :mode "\\.hs$" - :config +(use-package haskell + :mode ("\\.hs$" . haskell-mode) + :init (define-repl! haskell-mode switch-to-haskell) - + (add-hook 'haskell-mode-hook 'interactive-haskell-mode) + :config ;; haskell-mode complains that this function isn't defined, and it isn't! - (defun haskell-mode-after-save-handler ()) + (defun haskell-mode-after-save-handler ())) - (use-package inf-haskell - :commands (switch-to-haskell) - :init (evil-set-initial-state 'inferior-haskell-mode 'emacs) - :config - (map! :map inf-haskell-mode-map - "ESC ESC" 'narf/popup-close))) +(use-package inf-haskell + :commands (inferior-haskell-mode inf-haskell-mode switch-to-haskell) + :init (evil-set-initial-state 'inferior-haskell-mode 'emacs) + :config + (define-key inf-haskell-mode-map (kbd "ESC ESC") 'narf/popup-close)) (provide 'module-haskell) ;;; module-haskell.el ends here