haskell: improve REPL/debugger integration (WIP)

This commit is contained in:
Henrik Lissner 2016-03-31 13:17:42 -04:00
parent 8bb8bb7b62
commit 6f652c1e96
3 changed files with 14 additions and 11 deletions

View file

@ -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)

View file

@ -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)

View file

@ -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)
(use-package inf-haskell
:commands (inferior-haskell-mode inf-haskell-mode switch-to-haskell)
:init (evil-set-initial-state 'inferior-haskell-mode 'emacs)
:config
(map! :map inf-haskell-mode-map
"ESC ESC" 'narf/popup-close)))
(define-key inf-haskell-mode-map (kbd "ESC ESC") 'narf/popup-close))
(provide 'module-haskell)
;;; module-haskell.el ends here