1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-27 07:37:33 +00:00

Documentation for the use-package macro

This commit is contained in:
Phillip Lord 2013-01-17 21:22:57 +00:00
parent 75b30bfd9b
commit abc0ebc92d

View File

@ -321,6 +321,28 @@
(defmacro use-package (name &rest args)
"Use a package with configuration options.
For full documentation. please see commentary.
(use-package package-name
:keyword option)
:init Code to run when `use-package' form evals.
:bind Perform key bindings, and define autoload for bound
commands.
:commands Define autoloads for given commands.
:mode Form to be added to `auto-mode-alist'.
:interpreter Form to be added to `auto-interpreter-alist'.
:defer Defer loading of package -- automatic
if :commands, :bind, :mode or :interpreter are used.
:config Runs if and when package loads.
:if Conditional loading.
:disabled Ignore everything.
:defines Define vars to silence byte-compiler.
:load-path Add to `load-path' before loading.
:diminish Support for diminish package (if it's installed).
"
(let* ((commands (plist-get args :commands))
(pre-init-body (plist-get args :pre-init))
(init-body (plist-get args :init))
@ -350,8 +372,13 @@
(unless (plist-get args :disabled)
;; force this immediately -- one off cost!
(if (plist-get args :ensure)
(use-package-ensure-elpa name))
(let* ((ensure (plist-get args :ensure))
(package-name
(or (and (eq ensure t)
name)
ensure)))
(when package-name
(use-package-ensure-elpa package-name)))
(if diminish-var
(setq config-body