Added caching to find-file-in-project.
This commit is contained in:
parent
903ab9e2d7
commit
a74a7c7ef7
@ -139,6 +139,13 @@ directory they are found in so that they are unique."
|
|||||||
root (ffip-join-patterns)
|
root (ffip-join-patterns)
|
||||||
ffip-find-options ffip-limit))))))
|
ffip-find-options ffip-limit))))))
|
||||||
|
|
||||||
|
(defvar ffip-project-files-cache '())
|
||||||
|
|
||||||
|
(defun ffip-get-project-files ()
|
||||||
|
(when (equal (assoc (ffip-project-root) ffip-project-files-cache) nil)
|
||||||
|
(add-to-list 'ffip-project-files-cache `(,(ffip-project-root) ,(ffip-project-files))))
|
||||||
|
(car (cdr (assoc (ffip-project-root) ffip-project-files-cache))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun find-file-in-project ()
|
(defun find-file-in-project ()
|
||||||
"Prompt with a completing list of all files in the project to find one.
|
"Prompt with a completing list of all files in the project to find one.
|
||||||
@ -147,7 +154,7 @@ The project's scope is defined as the first directory containing
|
|||||||
an `.emacs-project' file. You can override this by locally
|
an `.emacs-project' file. You can override this by locally
|
||||||
setting the variable `ffip-project-root'."
|
setting the variable `ffip-project-root'."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let* ((project-files (ffip-project-files))
|
(let* ((project-files (ffip-get-project-files))
|
||||||
(files (mapcar 'car project-files))
|
(files (mapcar 'car project-files))
|
||||||
(file (if (and (boundp 'ido-mode) ido-mode)
|
(file (if (and (boundp 'ido-mode) ido-mode)
|
||||||
(ido-completing-read "Find file in project: " files)
|
(ido-completing-read "Find file in project: " files)
|
||||||
|
3
init.el
3
init.el
@ -58,6 +58,9 @@
|
|||||||
;; Disable the menu bar.
|
;; Disable the menu bar.
|
||||||
(menu-bar-mode -1)
|
(menu-bar-mode -1)
|
||||||
|
|
||||||
|
;; find-file-in-project
|
||||||
|
(setq ffip-limit 9999999999)
|
||||||
|
|
||||||
;; =============================================================================
|
;; =============================================================================
|
||||||
;; Flymake
|
;; Flymake
|
||||||
;; =============================================================================
|
;; =============================================================================
|
||||||
|
Loading…
Reference in New Issue
Block a user