Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.org
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ commands:

- =devdocs-install=: Download and install (or reinstall) a document
distributed by [[https://devdocs.io]].
- =devdocs-ensure-docs-installed=: Check if documents are already
installed and install them if necessary.
- =devdocs-delete=: Remove an installed document.
- =devdocs-update-all=: Download and reinstall all installed documents
for which a newer version is available.
Expand Down
10 changes: 10 additions & 0 deletions devdocs.el
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,16 @@ already installed, reinstall it."
(rename-file (file-name-as-directory temp) dest))
(message "Document `%s' installed" slug)))

;;;###autoload
(defun devdocs-ensure-docs-installed (desired-docs)
"Ensure that every devdoc listed in DESIRED-DOCS is installed, without reinstalling."
(let ((installed (mapcar (lambda (installed-doc)
(cdr (assoc 'slug installed-doc)))
(devdocs--installed-docs))))
(dolist (desired-doc desired-docs)
(unless (cl-member desired-doc installed :test #'string=)
(devdocs-install desired-doc)))))

;;;###autoload
(defun devdocs-update-all ()
"Reinstall all documents with a new version available."
Expand Down