 
 ;; company
 (general-define-key
+ :keymaps 'company-mode-map
  :states 'insert
- :keymaps 'company-mode-map
  "C-SPC"   '(company-indent-or-complete-common)
  "C-x C-l" '(company|whole-lines)
  "C-x C-k" '(company|dict-or-keywords)


;; smart-forward
(general-define-key
 :states 'motion
 "g]" '(smart-forward)
 "g[" '(smart-backward))

;; undo-tree
(general-define-key
 :states 'visual
 "C-u" '(undo-tree-undo)
 "C-r" '(undo-tree-redo))



;; flyspell
(general-define-key
 :keymaps 'motion
 "]S" '(flyspell-correct-word-generic)
 "[S" '(flyspell-correct-previous-word-generic))

;; git-timemachine
(general-define-key
 :keymaps 'git-timemachine-mode-map
 :states '(normal visual)
 "p" '(git-timemachine-show-previous-revision)
 "n" '(git-timemachine-show-next-revision)
 "g" '(git-timemachine-show-nth-revision)
