 
 (use-package company
   :diminish
-  :after smartparens
+  :after (smartparens yasnippet)
   :ensure t
   :bind (:map company-active-map
               ("C-w" . dcn/kill-region-or-word)

;; TODO ARev is not being diminished.
;; TODO Diminish other modes.
(use-package diminish
  :ensure t)

(use-package auto-package-update

  :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
