elisp/haskell-init.el
changeset 72 65194c801e61
parent 71 b5976ed7311a
child 73 8167de2d2daa
--- a/elisp/haskell-init.el	Wed Feb 04 11:05:42 2015 -0600
+++ b/elisp/haskell-init.el	Sat Apr 04 20:20:01 2015 -0500
@@ -3,13 +3,7 @@
 
 ;; Require packages
 (require 'package-require)
-(package-require '(haskell-mode hi2 flycheck)) ;;  flycheck-haskell hindent shm
-
-(require 'flycheck)
-
-;; (eval-after-load 'flycheck
-;;   '(add-hook 'flycheck-mode-hook #'flycheck-haskell-setup))
-;; (require 'flycheck-haskell)
+(package-require '(haskell-mode flycheck)) ;;  flycheck-haskell hindent shm
 
 (require 'haskell)
 (require 'haskell-mode)
@@ -58,20 +52,21 @@
    (imenu-add-menubar-index)
    (flycheck-mode)
    (flycheck-disable-checker `haskell-ghc)
-   (turn-on-hi2)
-   (interactive-haskell-mode)))
+   (haskell-indentation-mode t)
+   (subword-mode)
+   (interactive-haskell-mode t)))
 
 (custom-set-variables
  '(capitalized-words-mode t)
  '(haskell-stylish-on-save t)
 
- '(hi2-layout-offset 4)
- '(hi2-left-offset 4)
+ '(haskell-indentation-layout-offset 4)
+ '(haskell-indentation-left-offset 4)
 
  '(haskell-process-type 'cabal-repl)
- '(haskell-process-args-cabal-repl '("--ghc-option=-ferror-spans" "--with-ghc=ghci-ng"))
- '(haskell-process-path-ghci "ghci-ng")
- '(haskell-process-args-ghci "-ferror-spans")
+ ;; '(haskell-process-args-cabal-repl '("--ghc-option=-ferror-spans" "--with-ghc=ghci-ng"))
+ ;; '(haskell-process-path-ghci "ghci-ng")
+ ;; '(haskell-process-args-ghci "-ferror-spans")
  '(haskell-process-suggest-remove-import-lines t)
  '(haskell-process-auto-import-loaded-modules t)
  '(haskell-process-log t)
@@ -84,7 +79,7 @@
 
  '(haskell-notify-p t)
  '(haskell-align-imports-pad-after-name t)
- '(haskell-ask-also-kill-buffers t)
+ '(haskell-ask-also-kill-buffers nil)
  '(haskell-import-mapping t)
 
  '(haskell-interactive-mode-eval-pretty t)
@@ -96,11 +91,11 @@
 (define-key interactive-haskell-mode-map (kbd "M-,") 'haskell-who-calls)
 (define-key interactive-haskell-mode-map (kbd "M-.") 'haskell-mode-goto-loc)
 (define-key interactive-haskell-mode-map (kbd "C-?") 'haskell-mode-find-uses)
+(define-key interactive-haskell-mode-map (kbd "C-c C-c") 'haskell-process-cabal-build)
+(define-key interactive-haskell-mode-map (kbd "C-c C-t") 'haskell-mode-show-type-at)
 (define-key interactive-haskell-mode-map (kbd "C-`") 'haskell-interactive-bring)
-(define-key interactive-haskell-mode-map (kbd "C-c C-k") 'haskell-interactive-mode-clear)
-(define-key interactive-haskell-mode-map (kbd "C-c C-c") 'haskell-process-cabal-build)
+(define-key interactive-haskell-mode-map (kbd "C-c C-k") 'haskell-process-clear)
 (define-key interactive-haskell-mode-map (kbd "C-c c") 'haskell-process-cabal)
-(define-key interactive-haskell-mode-map (kbd "C-c C-t") 'haskell-mode-show-type-at)
 
 (define-key haskell-interactive-mode-map (kbd "C-c C-i") 'haskell-process-do-info)
 (define-key haskell-interactive-mode-map (kbd "C-<left>") 'haskell-interactive-mode-error-backward)
@@ -110,61 +105,18 @@
 (define-key haskell-mode-map (kbd "C-c C-l") 'haskell-process-load-or-reload)
 (define-key haskell-mode-map (kbd "C-`") 'haskell-interactive-bring)
 (define-key haskell-mode-map (kbd "C-c C-t") 'haskell-process-do-type)
+(define-key haskell-mode-map (kbd "C-c i") 'haskell-navigate-imports)
 (define-key haskell-mode-map (kbd "C-c C-i") 'haskell-process-do-info)
 (define-key haskell-mode-map (kbd "C-c C-c") 'haskell-process-cabal-build)
 (define-key haskell-mode-map (kbd "C-c C-d") 'haskell-describe)
-(define-key haskell-mode-map (kbd "C-c C-k") 'haskell-interactive-mode-clear)
+(define-key haskell-mode-map (kbd "C-c C-k") 'haskell-process-clear)
 (define-key haskell-mode-map (kbd "C-c c") 'haskell-process-cabal)
 (define-key haskell-mode-map (kbd "SPC") 'haskell-mode-contextual-space)
 
 (define-key haskell-cabal-mode-map (kbd "C-`") 'haskell-interactive-bring)
-(define-key haskell-cabal-mode-map (kbd "C-c C-k") 'haskell-interactive-mode-clear)
+(define-key haskell-cabal-mode-map (kbd "C-c C-k") 'haskell-process-clear)
 (define-key haskell-cabal-mode-map (kbd "C-c C-c") 'haskell-process-cabal-build)
 (define-key haskell-cabal-mode-map (kbd "C-c c") 'haskell-process-cabal)
 
 (message "Loading haskell-init...done")
 (provide 'haskell-init)
-
-
-;;;; Old haskell stuff
-;; ;;; haskell-mode
-;; (autoload 'ghc-init "ghc" nil t)
-;; (add-hook
-;;  'haskell-mode-hook
-;;  (lambda ()
-;;    (ghc-init)
-;;    (capitalized-words-mode t)
-;;    (turn-on-hi2)
-;;    (imenu-add-menubar-index)
-;;    (interactive-haskell-mode)
-;;    (local-set-key (kbd "C-c i") 'haskell-navigate-imports) ; go to imports. prefix to return
-;;    (local-set-key (kbd "M-p") 'move-line-up) ; need to override default M-p function
-;;    (local-set-key (kbd "M-n") 'move-line-down)
-;;    (local-set-key (kbd "C-1") 'ghc-display-errors)
-;;    (local-set-key (kbd "C-.") 'ghc-goto-next-error)
-;;    (local-set-key (kbd "C-,") 'ghc-goto-prev-error)
-
-;;    (define-key haskell-mode-map (kbd "C-c C-l") 'haskell-process-load-or-reload)
-;;    (define-key haskell-mode-map (kbd "C-`") 'haskell-interactive-bring)
-;;    (define-key haskell-mode-map (kbd "C-c C-t") 'haskell-process-do-type)
-;;    (define-key haskell-mode-map (kbd "C-c C-i") 'haskell-process-do-info)
-;;    (define-key haskell-mode-map (kbd "C-c C-c") 'haskell-process-cabal-build)
-;;    (define-key haskell-mode-map (kbd "C-c C-k") 'haskell-interactive-mode-clear)
-;;    (define-key haskell-mode-map (kbd "C-c c") 'haskell-process-cabal)
-;;    (define-key haskell-mode-map (kbd "SPC") 'haskell-mode-contextual-space)
-
-;;    (setq
-;;     ghc-ghc-options '("-isrc")
-;;     haskell-program-name "cabal repl"
-;;     haskell-stylish-on-save t
-;;     hi2-layout-offset 4
-;;     hi2-left-offset 4
-;;     whitespace-line-column 78
-;;     ;; haskell-process-type 'cabal-repl
-;;     haskell-process-suggest-remove-import-lines t
-;;     haskell-process-auto-import-loaded-modules t
-;;     haskell-process-log t
-;;     )))
-
-;; ;;; ghci-mode
-;; (add-hook 'inferior-haskell-mode-hook 'turn-on-ghci-completion)