 (require 'cask "~/.cask/cask.el")
 (cask-initialize)
 
-;;; Update Cask on install
+;; Update Cask on install
 (require 'pallet)
 
 (setq root-dir (file-name-directory

  `(eval-after-load (symbol-name ,mode)
     '(progn ,@body)))

;;; IDO
(after 'ido-ubiquitous-autoloads
  (setq ido-enable-flex-matching t
        ido-auto-merge-work-directories-length -1

  (require 'flx-ido)
  (flx-ido-mode 1))

;; Projectile
(require 'ack-and-a-half)
(require 'projectile)
(projectile-global-mode)

;; Project management
(setq projectile-enable-caching t)
(setq projectile-keymap-prefix (kbd "C-x p"))

;; Snippets
(require 'yasnippet)
(yas-load-directory (concat root-dir "snippets"))
(yas-global-mode 1)

;; Indentation
(setq-default tab-width 4 indent-tabs-mode nil)
(setq-default c-basic-offset 4 c-default-style "bsd")
(define-key global-map (kbd "RET") 'newline-and-indent)

;; Line Numbers
(global-linum-mode t)

;; Smooth Scrolling
(setq scroll-margin 5 scroll-conservatively 9999 scroll-step 1)

;; Autopair
(require 'autopair)
(autopair-global-mode 1)

;; Evil
(require 'evil)
(evil-mode 1)

;; Change my cursor
(setq evil-emacs-state-cursor '("red" box))
(setq evil-normal-state-cursor '("green" box))
(setq evil-visual-state-cursor '("orange" box))
