 ;; Helm
 (use-package helm
   :ensure t
-  :bind ("M-x" . helm-M-x)
+  :bind
+  ("M-x" . helm-M-x)
+  ("C-x C-f" . helm-find-files)
   :init
   (require 'helm-config)
   (helm-mode 1)
   (defvar helm-buffers-fuzzy-matching t)
   (defvar helm-recentf-fuzzy-match t)
   (defvar helm-M-x-fuzzy-match t)
-  (setq helm-autoresize-mode t)
-  (define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action))
+  (declare-function helm-autoresize-mode "helm")  ;; To supress warnings
+  (helm-autoresize-mode 1)
+  (define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action)
+  (advice-add 'helm-ff-delete-char-backward :around #'helm-find-files-smart-delete))
 
 ;; Electric pair mode
 (electric-pair-mode t)

  (require 'use-package))

;; Evil Mode
(use-package evil
  :ensure t
  :functions evil-set-jump
  :init (evil-mode 1))

;; Go Mode
(use-package go-mode
  :ensure t
  :init
  (setenv "GOPATH" (shell-command-to-string "$SHELL --login -i -c 'echo -n $GOPATH'")) ; set the $GOPATH
  :config (add-hook 'go-mode-hook #'go-awesome-mode-hook))


(defun go-awesome-mode-hook ()
  "Run all of the configuration settings for Golang when this hook is called."
  (defvar gofmt-command "goimports")
  (setq tab-width 4)
  (setq indent-tabs-mode 1)
  ; Call Gofmt before saving

;; and most of all, love of what you are doing.
;;                 - Pele
")


;; Include term for use of hooks later on
(require 'term)

;; Include Marmalade and MELPA repos
(require 'package)
