doom-module-from-path: exclude psuedo-modules #2107

Don't include :core and :private modules in '<help> d m'. They aren't
real and no help can be derived from them.
This commit is contained in:
Henrik Lissner 2019-11-23 15:01:34 -05:00
parent d11902f313
commit ebe1da4282
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -298,7 +298,7 @@ without needing to check if they are available."
(describe-function fn)))) (describe-function fn))))
(defun doom--help-modules-list () (defun doom--help-modules-list ()
(cl-loop for path in (doom-module-load-path 'all) (cl-loop for path in (cdr (doom-module-load-path 'all))
for (cat . mod) = (doom-module-from-path path) for (cat . mod) = (doom-module-from-path path)
for location = (cons (or (doom-module-locate-path cat mod "README.org") for location = (cons (or (doom-module-locate-path cat mod "README.org")
(doom-module-locate-path cat mod)) (doom-module-locate-path cat mod))
@ -332,7 +332,8 @@ without needing to check if they are available."
(format "%s %s" (nth 1 sexp) (nth 2 sexp))))))) (format "%s %s" (nth 1 sexp) (nth 2 sexp)))))))
((and buffer-file-name ((and buffer-file-name
(when-let (mod (doom-module-from-path buffer-file-name)) (when-let (mod (doom-module-from-path buffer-file-name))
(format "%s %s" (car mod) (cdr mod))))) (unless (memq (car mod) '(:core :private))
(format "%s %s" (car mod) (cdr mod))))))
((when-let (mod (cdr (assq major-mode doom--help-major-mode-module-alist))) ((when-let (mod (cdr (assq major-mode doom--help-major-mode-module-alist)))
(format "%s %s" (format "%s %s"
(symbol-name (car mod)) (symbol-name (car mod))
@ -355,7 +356,8 @@ current file is in, or d) the module associated with the current major mode (see
nil t nil nil nil t nil nil
(doom--help-current-module-str))) (doom--help-current-module-str)))
(key (doom-module-from-path (key (doom-module-from-path
(car (get-text-property 0 'location module-string))))) (or (car (get-text-property 0 'location module-string))
(user-error "Did not select a valid module")))))
(list (car key) (list (car key)
(cdr key)))) (cdr key))))
(cl-check-type category symbol) (cl-check-type category symbol)
@ -363,7 +365,7 @@ current file is in, or d) the module associated with the current major mode (see
(let ((path (doom-module-locate-path category module))) (let ((path (doom-module-locate-path category module)))
(unless (file-readable-p path) (unless (file-readable-p path)
(error "'%s %s' isn't a valid module; it doesn't exist" category module)) (error "'%s %s' isn't a valid module; it doesn't exist" category module))
(if-let* ((readme-path (doom-module-locate-path category module "README.org"))) (if-let (readme-path (doom-module-locate-path category module "README.org"))
(find-file readme-path) (find-file readme-path)
(if (y-or-n-p (format "The '%s %s' module has no README file. Explore its directory?" (if (y-or-n-p (format "The '%s %s' module has no README file. Explore its directory?"
category module)) category module))