Fix doom/help-packages

This commit is contained in:
Henrik Lissner 2019-09-03 16:53:41 -04:00
parent 92c839be02
commit 44ef61a7f7
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -366,15 +366,6 @@ current file is in, or d) the module associated with the current major mode (see
(recenter) (recenter)
(message "Couldn't find the config block")))))))) (message "Couldn't find the config block"))))))))
(defvar doom--help-packages-list nil)
(defun doom--help-packages-list (&optional refresh)
(or (unless refresh
doom--help-packages-list)
(setq doom--help-packages-list
(append (cl-loop for package in doom-core-packages
collect (list package :modules '((:core internal))))
(doom-package-list 'all)))))
(defun doom--help-package-configs (package) (defun doom--help-package-configs (package)
;; TODO Add git checks, in case ~/.emacs.d isn't a git repo ;; TODO Add git checks, in case ~/.emacs.d isn't a git repo
(let ((default-directory doom-emacs-dir)) (let ((default-directory doom-emacs-dir))
@ -394,16 +385,16 @@ defined and configured.
If prefix arg is present, refresh the cache." If prefix arg is present, refresh the cache."
(interactive (interactive
(let* ((guess (or (function-called-at-point) (let ((guess (or (function-called-at-point)
(symbol-at-point)))) (symbol-at-point))))
(require 'finder-inf nil t) (require 'finder-inf nil t)
(require 'package) (require 'core-packages)
(unless package--initialized (doom-initialize-packages)
(package-initialize t)) (let ((packages (delete-dups
(let ((packages (cl-delete-duplicates (append (mapcar #'car package-alist)
(append (mapcar 'car package-alist) (mapcar #'car package--builtins)
(mapcar 'car package--builtins) (mapcar #'intern (hash-table-keys straight--build-cache))
(mapcar 'car (doom--help-packages-list)) (mapcar #'car (doom-package-list 'all))
nil)))) nil))))
(unless (memq guess packages) (unless (memq guess packages)
(setq guess nil)) (setq guess nil))
@ -415,6 +406,9 @@ If prefix arg is present, refresh the cache."
"Describe package: ") "Describe package: ")
packages nil t nil nil packages nil t nil nil
(if guess (symbol-name guess)))))))) (if guess (symbol-name guess))))))))
(require 'core-packages)
(doom-initialize-packages)
(let ((straight-packages (mapcar #'intern (hash-table-keys straight--build-cache))))
(if (or (package-desc-p package) (if (or (package-desc-p package)
(and (symbolp package) (and (symbolp package)
(or (assq package package-alist) (or (assq package package-alist)
@ -425,8 +419,7 @@ If prefix arg is present, refresh the cache."
(with-help-window (help-buffer))) (with-help-window (help-buffer)))
(save-excursion (save-excursion
(with-current-buffer (help-buffer) (with-current-buffer (help-buffer)
(let ((doom-packages (doom--help-packages-list)) (let ((inhibit-read-only t)
(inhibit-read-only t)
(indent (make-string 13 ? ))) (indent (make-string 13 ? )))
(goto-char (point-max)) (goto-char (point-max))
(if (re-search-forward "^ *Status: " nil t) (if (re-search-forward "^ *Status: " nil t)
@ -441,7 +434,10 @@ If prefix arg is present, refresh the cache."
(package--print-help-section "Source") (package--print-help-section "Source")
(insert (or (pcase (doom-package-backend package) (insert (or (pcase (doom-package-backend package)
(`straight (`straight
(format! "Straight\n%s" (format! "Straight (%s)\n%s"
(let ((default-directory (straight--build-dir (symbol-name package))))
(string-trim
(shell-command-to-string "git log -1 --format=\"%D %h %ci\"")))
(indent (indent
13 (string-trim 13 (string-trim
(pp-to-string (pp-to-string
@ -453,7 +449,7 @@ If prefix arg is present, refresh the cache."
"unknown") "unknown")
"\n") "\n")
(when (assq package doom-packages) (when (gethash (symbol-name package) straight--build-cache)
(package--print-help-section "Modules") (package--print-help-section "Modules")
(insert "Declared by the following Doom modules:\n") (insert "Declared by the following Doom modules:\n")
(dolist (m (doom-package-get package :modules)) (dolist (m (doom-package-get package :modules))
@ -483,7 +479,7 @@ If prefix arg is present, refresh the cache."
(forward-line (1- line)) (forward-line (1- line))
(recenter))))) (recenter)))))
(insert "\n\n"))))) (insert "\n\n"))))))
(defvar doom--package-cache nil) (defvar doom--package-cache nil)
(defun doom--package-list () (defun doom--package-list ()