elisp/haskell-init.el
changeset 73 8167de2d2daa
parent 72 65194c801e61
child 74 1ec54926890f
equal deleted inserted replaced
72:65194c801e61 73:8167de2d2daa
     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)