Variable: consult-source-project-recent-file

consult-source-project-recent-file is a variable defined in consult.el.

Value

(:name "Project File" :narrow 102 :category file :face consult-file
       :history file-name-history :state consult--file-state :new
       #[257 "\300\301\302 \"!\207"
	     [consult--file-action expand-file-name
				   consult--project-root]
	     5
	     ("/root/.emacs.d/elpa/consult-20260805.1130/consult.elc"
	      . 179589)]
       :enabled
       #[0 "\205�	\207" [consult-project-function recentf-mode]
	   1]
       :items
       #[0
	 "\302 \211\205T�\211G\303 \304\305\300!\205�\211\203P�\211@\211\306H\307=\204(�\304\310!)\262\311\"\204K�\312\"\203K�\211\304O\211\313\232\203C�\210\314\211BB\262\210\210A\202�\210\266\202\237\207"
	 [recentf-list file-name-handler-alist consult--project-root
		       consult--buffer-file-hash nil boundp 0 47
		       expand-file-name gethash string-prefix-p ""
		       "./"]
	 9])

Documentation

Project file source for consult-buffer.

Source Code

;; Defined in ~/.emacs.d/elpa/consult-20260805.1130/consult.el
(defvar consult-source-project-recent-file
  `( :name     "Project File"
     :narrow   ?f
     :category file
     :face     consult-file
     :history  file-name-history
     :state    ,#'consult--file-state
     :new
     ,(lambda (file)
        (consult--file-action
         (expand-file-name file (consult--project-root))))
     :enabled
     ,(lambda ()
        (and consult-project-function
             recentf-mode))
     :items
     ,(lambda ()
        (when-let* ((root (consult--project-root)))
          (let ((len (length root))
                (ht (consult--buffer-file-hash))
                items)
            (dolist (file (bound-and-true-p recentf-list) (nreverse items))
              ;; Emacs 29 abbreviates file paths by default, see
              ;; `recentf-filename-handlers'.  I recommend to set
              ;; `recentf-filename-handlers' to nil to avoid any slow down.
              (unless (eq (aref file 0) ?/)
                (let (file-name-handler-alist) ;; No Tramp slowdown please.
                  (setq file (expand-file-name file))))
              (when (and (not (gethash file ht)) (string-prefix-p root file))
                (let ((part (substring file len)))
                  (when (equal part "") (setq part "./"))
                  (push (cons part file) items))))))))
  "Project file source for `consult-buffer'.")