]> git.rkrishnan.org Git - .emacs.d.git/blobdiff - init.el
refactor haskell stuff
[.emacs.d.git] / init.el
diff --git a/init.el b/init.el
index 2fe2b23e82689fa387093206310a3b4cb1756bb7..949bbdf771d28954e44da5e6809f2017e5654815 100644 (file)
--- a/init.el
+++ b/init.el
@@ -54,9 +54,9 @@
 
 (erc-autojoin-mode t)
 (setq erc-autojoin-channels-alist
-      '((".*\\.freenode.net" "#haskell-beginners" "#tahoe-lafs")
+      '((".*\\.freenode.net" "#tahoe-lafs")
         (".*\\.oftc.net" "#LeastAuthority")
-;;        (".*\\.mozilla.org" "#rust-beginners")
+        ;; (".*\\.mozilla.org" "#rust-beginners")
         ))
 
 ;; check channels
 ;; switch to ERC with Ctrl+c e
 (global-set-key (kbd "C-c e") 'start-erc) ;; ERC
 
-;; haskell mode
-(setenv "PATH" (concat "~/.cabal/bin:" (getenv "PATH")))
-(add-to-list 'exec-path "~/.cabal/bin")
-(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
-
-;; haskell mode
-(require 'haskell-process)
-(require 'haskell-interactive-mode)
-(add-hook 'haskell-mode-hook 'interactive-haskell-mode)
-
-(custom-set-variables
-  '(haskell-process-suggest-remove-import-lines t)
-  '(haskell-process-auto-import-loaded-modules t)
-  '(haskell-process-log t)
-  '(haskell-process-type 'stack-ghci))
-
-(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)
-
-;; ghc-mod
-(autoload 'ghc-init "ghc" nil t)
-(autoload 'ghc-debug "ghc" nil t)
-(setq ghc-debug t)
-(add-hook 'haskell-mode-hook (lambda () (ghc-init)))
-
 ;; ido
 (setq ido-enable-flex-matching t)
 (setq ido-everywhere t)
 (setq c-default-style "k&r"
       c-basic-offset 4)
 
+;; haskell
+(add-hook 'haskell-mode-hook #'hindent-mode)
+
+(eval-after-load 'haskell-mode
+  '(define-key haskell-mode-map [f8] 'haskell-navigate-imports))
+
+;;; ghc-mod
+(let ((my-cabal-path (expand-file-name "~/.cabal/bin")))
+  (setenv "PATH" (concat my-cabal-path ":" (getenv "PATH")))
+  (add-to-list 'exec-path my-cabal-path))
+
+(autoload 'ghc-init "ghc" nil t)
+(autoload 'ghc-debug "ghc" nil t)
+(add-hook 'haskell-mode-hook (lambda () (ghc-init)))
+
 ;; hlint
 (add-to-list 'load-path "~/.emacs.d/hs-lint")
 (require 'hs-lint)
 (add-to-list 'which-func-modes '(c-mode c++-mode rust-mode haskell-mode))
 
 ;; flysheck
-(add-hook 'after-init-hook #'global-flycheck-mode)
+;; (add-hook 'after-init-hook #'global-flycheck-mode)