       (write-region (point-min)
                     (point-max)
                     projectile-cache-file))))
-
-(defun projectile-load-cache ()
-  "Load the cache from the hard drive in memory."
-  (when (file-exists-p projectile-cache-file)
-    (with-temp-buffer
-      (insert-file-contents projectile-cache-file)
-      (setq projectile-projects-cache (read (buffer-string))))))
 
 (defun projectile-run-project-command (checks)
   "Run command considering CHECKS."

  (multi-occur (projectile-project-buffers)
               (car (occur-read-primary-args))))

(defcustom projectile-show-paths 'disambiguate-only
  "Whether to display paths with projectile-find-file."
  :group 'projectile
  :type '(radio (const :tag "Only show paths to disambiguate files" disambiguate-only)
                (const :tag "Show relative paths" relative)))

(defun projectile-hashify-files (files-list)
  (if (eq projectile-show-paths 'disambiguate-only)
      (projectile-hashify-with-uniquify files-list)
    (projectile-hashify-with-relative-paths files-list)))

(defun projectile-hashify-with-relative-paths (files-list)
  "Build a hash where the values match FILES-LIST and the keys are ido friendly.
Our keys our relative paths in the project."
  (let* ((project-root (projectile-project-root))
         (files-table (make-hash-table :test 'equal)))
    (dolist (current-file files-list files-table)
      (puthash (file-relative-name current-file project-root) current-file files-table))))


  :group 'projectile
  (if projectile-mode
      ;; on start
      (projectile-add-menu)
    ;; on stop
    (projectile-remove-menu)))

