                         "lc" 'delete-flycheck-errors-list
                         "ln" 'flycheck-next-error
                         "lp" 'flycheck-previous-error)
-    (global-flycheck-mode)
-)
+    (add-hook 'prog-mode-hook  (function (lambda () (flycheck-mode))))
+  )
 (use-package flycheck-pos-tip
-  :after flycheck
-  :config
-    (flycheck-pos-tip-mode)
-)
+   :after flycheck
+   :config (flycheck-pos-tip-mode))
 (use-package hideshow
-  :diminish hs-minor-mode
+  :delight hs-minor-mode
   :config
     (setq hs-allow-nesting t)
     (add-hook 'prog-mode-hook (function (lambda() (hs-minor-mode))))
-)
+  )
 (use-package magit
-  :diminish magit-auto-revert-mode
-)
-(use-package neotree
-  :after (general)
-  :init
-    (setq neo-theme 'icons)
-    (defun neotree-project-dir ()
-      "Open NeoTree using the git root."
-      (interactive)
-      (let ((project-dir (projectile-project-root))
-            (file-name (buffer-file-name)))
-        (neotree-toggle)
-        (if project-dir
-            (if (neo-global--window-exists-p)
-                (progn
-                  (neotree-dir project-dir)
-                  (neotree-find file-name)))
-          (message "Could not find git project root."))))
-    (general-define-key :prefix default-leader-key
-                        :states '(normal)
-                        "T" 'neotree-toggle
-                        "t" 'neotree-project-dir)
-  :commands (neotree-project-dir neotree-toggle neotree-hide neotree-show)
-  :config
-    (general-define-key :keymaps '(neotree-mode-map)
-                      "TAB" 'neotree-quick-look
-                      "q" 'neotree-hide
-                      "RET" 'neotree-enter)
-    (general-define-key :keymaps '(neotree-mode-map)
-                      :prefix default-leader-key
-                      "t" 'neotree-enter)
+  :delight magit-auto-revert-mode
+  :config
+    (setq magit-popup-show-common-commands nil)
+)
+(use-package evil-magit
+  :after magit
+  :init
+    (setq evil-magit-want-horizontal-movement nil))
+(use-package markdown-mode
+  :commands (markdown-mode)
+  :config
+    (setq markdown-css-paths
+                 '("https://markdowncss.github.io/modest/css/modest.css"))
 )
 (use-package projectile
-  :diminish projectile-mode
+  :delight projectile-mode
   :init
     (setq projectile-completion-system 'ivy)
   :config
-    (projectile-global-mode)
-)
+    (projectile-global-mode))
 (use-package counsel-projectile
   :after (projectile general)
   :config
     (general-define-key :states '(normal)
                         :prefix default-leader-key
-                        "b" 'counsel-projectile-switch-to-buffer
+                        ;; "b" 'counsel-projectile-switch-to-buffer
                         "e" 'counsel-projectile-find-file
                         "p" 'counsel-projectile-switch-project
                         "<SPC>" 'counsel-projectile)

          evil-visual-state-tag "V"
          evil-insert-state-tag "I"
          evil-normal-state-tag "N"
    )
    (setq spaceline-highlight-face-func 'spaceline-highlight-face-evil-state)
)
(use-package pyenv-mode)
(use-package pyenv-mode-auto)
(use-package rainbow-delimiters
  :config
    (add-hook 'c-mode-common-hook (function (lambda () (
      rainbow-delimiters-mode-enable))))
    (add-hook 'elip-mode-common-hook (function (lambda () (
      rainbow-delimiters-mode-enable))))
)
(use-package rainbow-mode)
(use-package undo-tree
  :diminish undo-tree-mode)
(use-package yaml-mode)

                        :prefix default-leader-key
                        "d" 'counsel-dash-at-point
                        "D" 'counsel-dash)
  )
(use-package editorconfig)
(use-package ensime
  :commands (ensime ensime-mode)
  :init
    (setq ensime-startup-notification nil
          ensime-startup-snapshot-notification nil)

    (add-hook 'scala-mode-hook #'ensime-mode)
  :config
    (set-face-attribute 'ensime-implicit-highlight nil
                        :underline nil
                        :slant 'italic)

)
(use-package evil-matchit
  :config (global-evil-matchit-mode 1)
)
(use-package evil-numbers
  :config
    (general-define-key :states '(normal)
                        "C-a" 'evil-numbers/inc-at-pt
                        "C-x" 'evil-numbers/dec-at-pt))
(use-package evil-surround
  :config (global-evil-surround-mode 1))
(use-package evil-visual-mark-mode
  :config (evil-visual-mark-mode 1))
(use-package fic-mode
  :config (add-hook 'prog-mode-hook (function (lambda () (fic-mode 1)))))
(use-package flycheck
  :after (general)
  :delight flycheck-mode
  :commands (flycheck-mode)
  :init
    (add-to-list 'display-buffer-alist
                 `(,(rx bos "*Flycheck errors*" eos)
