The framework's Lisp API is still experimental and can change in major,
backward-incompatible ways.
+---
** New package Project
The new package Project provides generic infrastructure for dealing
with projects. The main commands included in it are
`project-find-file' and `project-find-regexp'.
-Like Xref, the project API is still experimental.
+The Lisp API of this package is still experimental.
*** New variables
;;;###autoload
(defun project-find-file ()
+ "Visit a file in the current project's roots.
+
+This is like `find-file', but it limits the file-name completion
+candidates to the files within the current project roots."
(interactive)
(let* ((pr (project-current t))
(dirs (project-roots pr)))
;;;###autoload
(defun project-or-external-find-file ()
+ "Visit a file in the current project's roots or external roots.
+
+This is like `find-file', but it limits the file-name completion
+candidates to the files within the current project roots and external roots."
(interactive)
(let* ((pr (project-current t))
(dirs (append