haskell: improve REPL/debugger integration (WIP)
This commit is contained in:
parent
8bb8bb7b62
commit
6f652c1e96
3 changed files with 14 additions and 11 deletions
|
@ -13,6 +13,7 @@
|
||||||
'(;; Debuggers
|
'(;; Debuggers
|
||||||
("\\`\\*\\(g\\|zsh\\|bash\\)db.*?\\*\\'" :regexp t :align below :size 20)
|
("\\`\\*\\(g\\|zsh\\|bash\\)db.*?\\*\\'" :regexp t :align below :size 20)
|
||||||
("\\`\\*trepanjs.*?\\*\\'" :regexp t :align below :size 20)
|
("\\`\\*trepanjs.*?\\*\\'" :regexp t :align below :size 20)
|
||||||
|
("\\`\\*\\(debug:\\)haskell\\*\\'" :regexp t :align below :size 20)
|
||||||
|
|
||||||
;; Plugins
|
;; Plugins
|
||||||
("*helm bookmarks*" :align below :size 7 :select t)
|
("*helm bookmarks*" :align below :size 7 :select t)
|
||||||
|
|
|
@ -56,6 +56,8 @@
|
||||||
;; TODO Add python debugging
|
;; TODO Add python debugging
|
||||||
((memq major-mode '(js-mode js2-mode js3-mode))
|
((memq major-mode '(js-mode js2-mode js3-mode))
|
||||||
(realgud:trepanjs))
|
(realgud:trepanjs))
|
||||||
|
((eq major-mode 'haskell-mode)
|
||||||
|
(haskell-debug))
|
||||||
(t (user-error "No debugger for %s" major-mode)))))
|
(t (user-error "No debugger for %s" major-mode)))))
|
||||||
|
|
||||||
;;;###autoload (autoload 'narf:debug-toggle-breakpoint "defuns-debug" nil t)
|
;;;###autoload (autoload 'narf:debug-toggle-breakpoint "defuns-debug" nil t)
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
;;; module-haskell.el
|
;;; module-haskell.el
|
||||||
|
|
||||||
(use-package haskell-mode
|
(use-package haskell
|
||||||
:mode "\\.hs$"
|
:mode ("\\.hs$" . haskell-mode)
|
||||||
:config
|
:init
|
||||||
(define-repl! haskell-mode switch-to-haskell)
|
(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!
|
;; 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
|
(use-package inf-haskell
|
||||||
:commands (switch-to-haskell)
|
:commands (inferior-haskell-mode inf-haskell-mode switch-to-haskell)
|
||||||
:init (evil-set-initial-state 'inferior-haskell-mode 'emacs)
|
:init (evil-set-initial-state 'inferior-haskell-mode 'emacs)
|
||||||
:config
|
:config
|
||||||
(map! :map inf-haskell-mode-map
|
(define-key inf-haskell-mode-map (kbd "ESC ESC") 'narf/popup-close))
|
||||||
"ESC ESC" 'narf/popup-close)))
|
|
||||||
|
|
||||||
(provide 'module-haskell)
|
(provide 'module-haskell)
|
||||||
;;; module-haskell.el ends here
|
;;; module-haskell.el ends here
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue