   (define-key haskell-mode-map (kbd "C-c C-?") 'haskell-process-do-info))
 
 ;; ruby ;;
+;; replace normal ruby mode
+(defalias 'ruby-mode 'enh-ruby-mode)
 ;; enhanced ruby mode
-(setup "enh-ruby-mode"
+(setup-lazy '(ruby-mode enh-ruby-mode) "enh-ruby-mode"
   (setq enh-ruby-program "~/.rbenv/shims/ruby")
   (add-to-list 'interpreter-mode-alist '("ruby" . enh-ruby-mode))
   ;; replace normal ruby mode

    ))

;; markdown
(setup "markdown-mode"
  (setq markdown-command "pandoc --smart -f markdown -t html")
  (add-to-list 'auto-mode-alist '("\\.pdc$" . markdown-mode))
  (add-to-list 'auto-mode-alist '("\\.mkd$" . markdown-mode))
  (add-to-list 'auto-mode-alist '("\\.md$" . markdown-mode))
  (add-to-list 'auto-mode-alist '("\\.markdown$" . markdown-mode))
  (add-to-list 'auto-mode-alist '("\\bREADME$" . markdown-mode))
  (add-to-list 'auto-mode-alist '("\\.page$" . markdown-mode))
  ;; add pandoc hook
  (add-hook 'markdown-mode-hook 'turn-on-pandoc)
  (add-hook 'markdown-mode-hook
            (lambda()
              (add-to-list 'ac-sources 'ac-source-math-latex))))

;; yaml
(setup "yaml-mode"
  (add-to-list 'auto-mode-alist '("\\.yaml$" . yaml-mode))
  (add-to-list 'auto-mode-alist '("\\.yml$" . yaml-mode)))

;; org-mode
(setq load-path (cons "~/.emacs.d/site-lisp/org-mode/lisp" load-path))
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
;; loaded so that we can diminish it later
(setup "org-indent"
  ;; proper indentation / folding
  (setq org-startup-indented t)
  (setq org-hide-leading-stars t)

  (setq inferior-julia-program-name "~/dev/julia/julia/usr/bin/julia-basic")))

;; auctex
(setup-lazy '(latex-mode LaTeX-mode tex-mode TeX-mode) "latex"
  (add-hook 'LaTeX-mode-hook 'TeX-PDF-mode)
  (add-hook 'LaTeX-mode-hook 'TeX-fold-mode)
  (add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
  (setq TeX-source-correlate-method 'synctex)
  (setq TeX-auto-save t)
  (setq TeX-parse-self t)
