 
 (use-package evil
   :init
-  (setq evil-shift-width 2)
+  (setq evil-shift-width 2
+        evil-want-keybinding nil
+        evil-undo-system 'undo-tree)
   (evil-mode 1)
 
   ;; Spacemacs style leader bindings
-  (bind-keys :map evil-normal-state-map :prefix "SPC" :prefix-map rock-leader)
-  (bind-keys :map rock-leader :prefix "b" :prefix-map rock/buffers)
-  (bind-keys :map rock-leader :prefix "w" :prefix-map rock/windows)
-  (bind-keys :map rock-leader :prefix "d" :prefix-map rock/directories)
-  (bind-keys :map rock-leader :prefix "p" :prefix-map rock/projects)
-  (bind-keys :map rock-leader :prefix "e" :prefix-map rock/elixir)
-  (bind-keys :map rock-leader :prefix "m" :prefix-map rock/magit)
-  (bind-keys :map rock-leader :prefix "h" :prefix-map rock/help)
-  (bind-keys :map rock-leader :prefix "t" :prefix-map rock/toggles)
-  (bind-keys :map rock-leader :prefix "g" :prefix-map rock/goto)
-  (bind-keys :map rock-leader :prefix "c" :prefix-map rock/commands)
+  :bind (:map evil-normal-state-map :prefix "SPC" :prefix-map rock-leader)
+  :bind (:map rock-leader :prefix "b" :prefix-map rock/buffers)
+  :bind (:map rock-leader :prefix "w" :prefix-map rock/windows)
+  :bind (:map rock-leader :prefix "d" :prefix-map rock/directories)
+  :bind (:map rock-leader :prefix "p" :prefix-map rock/projects)
+  :bind (:map rock-leader :prefix "e" :prefix-map rock/elixir)
+  :bind (:map rock-leader :prefix "m" :prefix-map rock/magit)
+  :bind (:map rock-leader :prefix "h" :prefix-map rock/help)
+  :bind (:map rock-leader :prefix "t" :prefix-map rock/toggles)
+  :bind (:map rock-leader :prefix "g" :prefix-map rock/goto)
+  :bind (:map rock-leader :prefix "c" :prefix-map rock/commands)
 
   :bind (:map rock-leader
               ("1" . select-window-1)


(use-package exunit
  :config
  (rock/normalize-map exunit-compilation-mode-map)
  (evil-add-hjkl-bindings exunit-compilation-mode-map)
  :bind (:map rock/elixir
              ("t" . exunit-verify-all)

    '(progn
       (evil-make-overriding-map git-timemachine-mode-map 'normal)
       ;; force update evil keymaps after git-timemachine-mode loaded
       (add-hook 'git-timemachine-mode-hook #'evil-ormalize-keymaps))))

(use-package flycheck
  :hook (typescript-mode . flycheck-mode))
