     (projectile-project-root)))
 
 (defmacro doom-project-has! (files)
-  "Checks if the project has the specified FILES, relative to the project root,
-unless the path begins with ./ or ../, in which case it's relative to
-`default-directory'. Recognizes (and ...) and/or (or ...) forms."
+  "Checks if the project has the specified FILES.
+Paths are relative to the project root, unless they start with ./ or ../ (in
+which case they're relative to `default-directory'). If they start with a slash,
+they are absolute."
   (doom--resolve-paths files (doom-project-root)))
 
 

;;

(defvar-local doom-project nil
  "A list of project mode symbols to enable. Used for .dir-locals.el.")

(defun doom|autoload-project-mode ()
  "Auto-enable projects listed in `doom-project', which is meant to be set from

(add-hook 'after-change-major-mode-hook #'doom|autoload-project-mode)

(defmacro def-project-mode! (name &rest plist)
  "Define a project minor-mode named NAME (a symbol) and declare where and how
it is activated. Project modes allow you to configure 'sub-modes' for
major-modes that are specific to a specific folder, certain project structure,
framework or arbitrary context you define. These project modes can have their
own settings, keymaps, hooks, snippets, etc.

This creates NAME-hook and NAME-map as well.

