elisp/haskell-init.el
changeset 89 86b51baf77dd
parent 87 5e8b9d224e3e
child 90 7ea476e27c9a
equal deleted inserted replaced
88:0ed9a6acb330 89:86b51baf77dd
     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 ;;; Code:
       
     5 
     4 ;; Require packages
     6 ;; Require packages
     5 (require 'package-require)
     7 (require 'package-require)
     6 (package-require '(haskell-mode yasnippet haskell-snippets flycheck))
     8 (package-require '(haskell-mode ghc yasnippet haskell-snippets flycheck company company-ghc))
     7 
     9 
     8 (add-to-list 'load-path "~/.emacs.d/elisp/stack-mode")
    10 ;; flycheck-haskell
     9 
       
    10 ;; Load haskell-mode from source
       
    11 ;; (add-to-list 'load-path "~/Code/elisp/haskell-mode/")
       
    12 ;; (require 'haskell-mode-autoloads)
       
    13 
       
    14 ;; company-mode stack-ide integration
       
    15 (add-to-list 'load-path "~/Code/elisp/company-stack-ide/")
       
    16 (require 'company-stack-ide)
       
    17 (add-to-list 'company-backends 'company-stack-ide)
       
    18 (add-hook 'stack-mode 'company-mode)
       
    19 
    11 
    20 (require 'haskell)
    12 (require 'haskell)
    21 (require 'haskell-mode)
    13 (require 'haskell-mode)
    22 (require 'stack-mode)
       
    23 (require 'haskell-interactive-mode)
    14 (require 'haskell-interactive-mode)
    24 (require 'haskell-snippets)
    15 (require 'haskell-snippets)
       
    16 (require 'company)
       
    17 
       
    18 (add-to-list 'company-backends 'company-ghc)
       
    19 (autoload 'ghc-init "ghc" nil t)
       
    20 (autoload 'ghc-debug "ghc" nil t)
       
    21 (add-hook 'haskell-mode-hook (lambda () (ghc-init)))
       
    22 ;; (add-hook 'flycheck-mode-hook #'flycheck-haskell-setup)
    25 
    23 
    26 (defun haskell-who-calls (&optional prompt)
    24 (defun haskell-who-calls (&optional prompt)
    27   "Grep the codebase to see who uses the symbol at point."
    25   "Grep the codebase to see who uses the symbol at point."
    28   (interactive "P")
    26   (interactive "P")
    29   (let ((sym (if prompt
    27   (let ((sym (if prompt
    43 ;;; haskell-mode
    41 ;;; haskell-mode
    44 (add-hook
    42 (add-hook
    45  'haskell-mode-hook
    43  'haskell-mode-hook
    46  (lambda ()
    44  (lambda ()
    47    (flycheck-mode t)
    45    (flycheck-mode t)
    48    (flycheck-disable-checker 'haskell-ghc)
       
    49    (flycheck-disable-checker 'haskell-stack-ghc)
       
    50    (flycheck-clear t)
       
    51    (imenu-add-menubar-index)
    46    (imenu-add-menubar-index)
    52    (haskell-indentation-mode t)
    47    (haskell-indentation-mode t)
    53    (projectile-mode t)
    48    (projectile-mode t)
    54    (stack-mode t)
       
    55    (subword-mode t)
    49    (subword-mode t)
    56    (capitalized-words-mode t)
    50    (capitalized-words-mode t)
    57    ;; (interactive-haskell-mode t)
    51    ;; (interactive-haskell-mode t)
    58 
    52 
    59    (setq
    53    (setq