          neotree expand-region evil-iedit-state
 	 multi-term multi-eshell yasnippet magit
 	 company ;irony ;company-irony ; irony for clang support
+	 ; tern company-tern 
 	 ;auto-complete auto-complete-clang-async
 	 ;virtualenvwrapper ;elpy auctex
 	 markdown-mode htmlize

  (global-set-key (kbd "C-c h") 'helm-command-prefix)
  (global-unset-key (kbd "C-x c"))

  (define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action) ; rebind tab to do persistent action
  (define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB works in terminal
  (define-key helm-map (kbd "C-z")  'helm-select-action) ; list actions using C-z

  ;; helm-M-x
  (setq helm-M-x-fuzzy-match t)

            (define-key evil-normal-state-local-map (kbd "D") 'neotree-delete-node)
            (define-key evil-normal-state-local-map (kbd "r") 'neotree-refresh)
            (define-key evil-normal-state-local-map (kbd "C") 'neotree-change-root)
            (define-key evil-normal-state-local-map (kbd "c") 'neotree-create-node)
            (define-key evil-normal-state-local-map (kbd "U") 'neotree-change-root)
	    (define-key evil-normal-state-local-map (kbd "A") 'neotree-stretch-toggle)
            (define-key evil-normal-state-local-map (kbd "O") 'neotree-open-directory-recursively)))
