            ;; Rebind undo to undo-tree visualizer
            ("C-x u"       . undo-tree-visualize)
            ("C-c e f"     . byte-compile-file))
-
-(bind-keys :map emacs-lisp-mode-map
-           ("C-c e e" . eval-last-sexp)
-           ("C-c e r" . eval-region)
-           ("C-c e b" . eval-buffer)
-           ("C-c e c" . emacs-lisp-byte-compile)
-           ("C-c e l" . emacs-lisp-byte-compile-and-load))
 
 ;; Replace the major mode name with its icon and move the buffer name from the
 ;; mode line to the header line

  :config
  (add-hook 'go-mode-hook
            #'(lambda ()
                (use-package go-eldoc
                  :config (go-eldoc-setup))


             ("<tab>" . nil)
             ("C-c i" . yas-expand)))

;; Auto-completion
(use-package company-quickhelp
  :config (company-quickhelp-mode t))

(use-package company-flx
  :config (company-flx-mode t))

;; Much faster PDF viewing
(add-hook 'doc-view-mode-hook
          #'(lambda ()
              (when (fboundp 'pdf-tools-install)
                (pdf-tools-install))))

;; Lisp
(dolist (hook '(lisp-mode-hook emacs-lisp-mode-hook))
  (add-hook hook #'(lambda () (flycheck-mode t))))
(bind-keys :map emacs-lisp-mode-map
           ("C-c e c" . emacs-lisp-byte-compile)
           ("C-c e l" . emacs-lisp-byte-compile-and-load))

;; Shell mode
(add-hook 'sh-mode-hook
          #'(lambda ()
              (flycheck-mode t)
              (use-package company-shell
                :config
                (add-to-list 'company-backend '(company-shell company-shell-env)))))

;; JSON mode
(use-package json-mode
  :config
  (add-hook 'json-mode-hook
            #'(lambda ()
                (flycheck-mode t)
                (use-package flycheck-demjsonlint))))

;; YAML mode
