         evil-snipe-repeat-scope 'whole-buffer)
   :hook ((evil-mode . evil-snipe-mode)
          (evil-mode . evil-snipe-override-mode)))
+
+(use-package lispyville
+  :ensure t
+  :diminish
+  :hook (evil-mode . lispyville-mode))
 
 (use-package aggressive-indent
   :ensure t

(use-package projectile
  :diminish
  :ensure t
  :init
  (setq projectile-project-search-path '("~/"
                                         "~/go/src/caffeine.tv/"

  :diminish
  :hook (python-mode . format-all-mode))

;; TODO Add better snippets.
;; TODO Use dlv debugger.
(use-package go-mode
  :ensure t
  :ensure-system-package
  ((gocode . "go get -u github.com/mdempsky/gocode")
   (godef . "go get -u github.com/rogpeppe/godef")
   (godoc . "go get -u golang.org/x/tools/cmd/godoc")
   (goimports . "go get -u golang.org/x/tools/cmd/goimports"))
  :hook (before-save . gofmt-before-save)
  :config
  (setq gofmt-command "goimports"))

(use-package go-tag
  :ensure t
  :ensure-system-package
  (gomodifytags . "go get -u github.com/fatih/gomodifytags")
  :bind (:map go-mode-map
              ("C-c t" . go-tag-add)
              ("C-c T" . go-tag-remove)))

(use-package company-go
  :after company
