 (eval-when-compile
   (require 'use-package))
 (require 'bind-key)
+(require 'diminish)
 
 ;; Color Theme: Solarized Dark [Light]
 (use-package color-theme-solarized
   :ensure t
-  :init
-    (require 'color-theme)
-  :config
-    (set-frame-parameter nil 'background-mode 'dark)
-    (set-terminal-parameter nil 'background-mode 'dark)
-    (add-to-list 'load-path (car (directory-files "~/.emacs.d/elpa" t "color-theme-solarized-*" nil)))
-    (color-theme-solarized))
+  :init (require 'color-theme)
+  :config (progn (set-frame-parameter nil 'background-mode 'dark)
+                 (set-terminal-parameter nil 'background-mode 'dark)
+                 (add-to-list 'load-path (car (directory-files "~/.emacs.d/elpa" t "color-theme-solarized-*" nil)))
+                 (color-theme-solarized))
+  )
 
 ;; Common Lisp
 (use-package cl

(use-package helm
  :ensure t
  :defer t
  :bind (("C-c h" . helm-command-prefix)
         ("C-x C-f" . helm-find-files)
         ("C-x b" . helm-buffers-list)
         ("M-x" . helm-M-x)
         ("M-y" . helm-show-kill-ring))
  :config
    (require 'helm-config)
    (setq helm-split-window-in-side-p t
      helm-move-to-line-cycle-in-source t
      helm-ff-search-library-in-sexp t
      helm-scroll-amount 8
      helm-ff-file-name-history-use-recentf t
      helm-autoresize-mode t;
      helm-autoresize-max-height 20
      helm-mode-fuzzy-match t
      helm-completion-in-region-fuzzy-match t
      helm-M-x-fuzzy-match t)
    (helm-mode t)
    (define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action) ; rebind tab to run persistent action
    (define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB works in terminal
    (define-key helm-map (kbd "C-z") 'helm-select-action) ; list actions using C-z
  )

;; Magit
(use-package magit
  :ensure t
  :defer t
  :config
    (setq magit-last-seen-setup-instructions "1.4.0"))

;; Markdown-mode
(use-package markdown-mode

  :mode (("\\.md" . gfm-mode)
         ("\\.mdown" . gfm-mode)
         ("\\.markdown" . gfm-mode))
  :config (progn (set-variable 'markdown-indent-on-enter nil)))

;; Neo-tree
(use-package neotree
  :ensure t
  :defer t
  :bind ("<f8>" . neotree-toggle))
  ;TODO: Add config section with set-face-attribute

;; Powerline
(use-package powerline
  :ensure t
  :config (progn (powerline-center-theme)
                 (setq powerline-default-separator 'contour)))

;; Undo-Tree
(use-package undo-tree
  :ensure t
  :defer t
  :bind (("C-z" . undo-tree-undo)
         ("C-S-z" . undo-tree-redo))
  :init (progn (global-undo-tree-mode t))
  :diminish undo-tree-mode)

;; Web-mode
