equal
deleted
inserted
replaced
1 ;; ~/.emacs.d/elisp/haskell-init.el |
1 ;; ~/.emacs.d/elisp/haskell-init.el |
2 ;; Luke Hoersten <[email protected]> |
2 ;; Luke Hoersten <[email protected]> |
3 |
3 |
4 ;; Require packages |
4 ;; Require packages |
5 (require 'package-require) |
5 (require 'package-require) |
6 (package-require '(haskell-mode flycheck)) ;; flycheck-haskell hindent shm |
6 (package-require '(flycheck yasnippet haskell-snippets haskell-mode flycheck-haskell)) |
|
7 |
|
8 ;; Load haskell-mode from source |
|
9 ;; (add-to-list 'load-path "~/Code/elisp/haskell-mode/") |
|
10 ;; (require 'haskell-mode-autoloads) |
7 |
11 |
8 (require 'haskell) |
12 (require 'haskell) |
9 (require 'haskell-mode) |
13 (require 'haskell-mode) |
10 (require 'haskell-process) |
14 (require 'haskell-process) |
11 (require 'haskell-flycheck) |
|
12 (require 'haskell-interactive-mode) |
15 (require 'haskell-interactive-mode) |
|
16 (require 'haskell-snippets) |
13 |
17 |
14 (defun haskell-who-calls (&optional prompt) |
18 (defun haskell-who-calls (&optional prompt) |
15 "Grep the codebase to see who uses the symbol at point." |
19 "Grep the codebase to see who uses the symbol at point." |
16 (interactive "P") |
20 (interactive "P") |
17 (let ((sym (if prompt |
21 (let ((sym (if prompt |
49 (add-hook |
53 (add-hook |
50 'haskell-mode-hook |
54 'haskell-mode-hook |
51 (lambda () |
55 (lambda () |
52 (imenu-add-menubar-index) |
56 (imenu-add-menubar-index) |
53 (flycheck-mode) |
57 (flycheck-mode) |
54 (flycheck-disable-checker `haskell-ghc) |
58 (flycheck-haskell-setup) |
55 (haskell-indentation-mode t) |
59 (haskell-indentation-mode t) |
56 (subword-mode) |
60 (subword-mode) |
57 (interactive-haskell-mode t))) |
61 (interactive-haskell-mode t))) |
58 |
62 |
59 (custom-set-variables |
63 (custom-set-variables |
62 |
66 |
63 '(haskell-indentation-layout-offset 4) |
67 '(haskell-indentation-layout-offset 4) |
64 '(haskell-indentation-left-offset 4) |
68 '(haskell-indentation-left-offset 4) |
65 |
69 |
66 '(haskell-process-type 'cabal-repl) |
70 '(haskell-process-type 'cabal-repl) |
67 ;; '(haskell-process-args-cabal-repl '("--ghc-option=-ferror-spans" "--with-ghc=ghci-ng")) |
71 '(haskell-process-args-cabal-repl '("--ghc-option=-ferror-spans" "--with-ghc=ghci-ng")) |
68 ;; '(haskell-process-path-ghci "ghci-ng") |
72 '(haskell-process-path-ghci "ghci-ng") |
69 ;; '(haskell-process-args-ghci "-ferror-spans") |
73 '(haskell-process-args-ghci "-ferror-spans") |
70 '(haskell-process-suggest-remove-import-lines t) |
74 '(haskell-process-suggest-remove-import-lines t) |
71 '(haskell-process-auto-import-loaded-modules t) |
75 '(haskell-process-auto-import-loaded-modules t) |
72 '(haskell-process-log t) |
76 '(haskell-process-log t) |
73 '(haskell-process-reload-with-fbytecode nil) |
77 '(haskell-process-reload-with-fbytecode nil) |
74 '(haskell-process-use-presentation-mode t) |
78 '(haskell-process-use-presentation-mode t) |