             (set-auto-complete-as-completion-at-point-function)))
 
 
-;;----------------------------------------------------------------------------
-;; Ruby - misc
-;;----------------------------------------------------------------------------
++
+;;; ri support
+(require-package 'yari)
 (defalias 'ri 'yari)
 
+
++
+;;; YAML
+
+(require-package 'yaml-mode)
+(require-package 'flymake-yaml)
 (add-hook 'yaml-mode-hook 'flymake-yaml-load)
 
-;;----------------------------------------------------------------------------
-;; Ruby - erb
-;;----------------------------------------------------------------------------
+
++
+;;; Rails
+(require-package 'rinari)
+(eval-after-load 'rinari
+  '(diminish 'rinari-minor-mode "Rin"))
+(require-package 'haml-mode)
+
+
++
+;;; ERB
+(require-package 'mmm-mode)
 (defun sanityinc/ensure-mmm-erb-loaded ()
   (require 'mmm-erb))
 

     (define-key ruby-mode-map (kbd "RET") 'reindent-then-newline-and-indent)
     (define-key ruby-mode-map (kbd "TAB") 'indent-for-tab-command)))


;;----------------------------------------------------------------------------
;; Ruby - flymake
;;----------------------------------------------------------------------------
(add-hook 'ruby-mode-hook 'flymake-ruby-load)


;;----------------------------------------------------------------------------
;; Ruby - robe
;;----------------------------------------------------------------------------
(add-hook 'ruby-mode-hook 'robe-mode)
(add-hook 'robe-mode-hook
          (lambda ()

;;----------------------------------------------------------------------------
;; Ruby - my convention for heredocs containing SQL
;;----------------------------------------------------------------------------

;; Needs to run after rinari to avoid clobbering font-lock-keywords?

;; (require-package 'mmm-mode)
;; (eval-after-load 'mmm-mode
;;   '(progn
;;      (mmm-add-classes
