mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-06 12:19:37 +00:00
Integrated support for working with el-get
This commit is contained in:
parent
01c8245b29
commit
334f6e085e
1 changed files with 67 additions and 0 deletions
|
@ -197,6 +197,44 @@
|
||||||
;; startup time, and things that could potentioally wait until after the
|
;; startup time, and things that could potentioally wait until after the
|
||||||
;; actual load. In this case, everything could be put inside `:init' and
|
;; actual load. In this case, everything could be put inside `:init' and
|
||||||
;; there would be no difference.
|
;; there would be no difference.
|
||||||
|
;;
|
||||||
|
;; * For el-get users
|
||||||
|
;;
|
||||||
|
;; You can use `use-package' as a way to create source definitions for el-get.
|
||||||
|
;; All that's needed is to add a `:type' keyword to your declaration. When
|
||||||
|
;; this is present, certain keywords get translated to what el-get expects in
|
||||||
|
;; the `el-get-sources' list:
|
||||||
|
;;
|
||||||
|
;; :config -> :after
|
||||||
|
;; :requires -> :depends
|
||||||
|
;;
|
||||||
|
;; A `:name' will be added also, if one is not provided explicitly, which will
|
||||||
|
;; be the same as the name of the package.
|
||||||
|
;;
|
||||||
|
;; But why would you want to use `use-package' when you have el-get? My
|
||||||
|
;; answer is that I'd like to use el-get to install and update some packages,
|
||||||
|
;; but I don't want it managing configuration. Just loading el-get -- without
|
||||||
|
;; call (el-get 'sync) -- takes a quarter second on my machine. That's 25% of
|
||||||
|
;; my load time! `use-package' is designed for performance, so I only want to
|
||||||
|
;; load el-get when it's time to install or update on of my used packages.
|
||||||
|
;;
|
||||||
|
;; Here is the `use-package' declaration I use for setting up el-get, but only
|
||||||
|
;; when I want to install or update.
|
||||||
|
;;
|
||||||
|
;; (defvar el-get-sources nil)
|
||||||
|
;;
|
||||||
|
;; (use-package el-get
|
||||||
|
;; :commands (el-get
|
||||||
|
;; el-get-install
|
||||||
|
;; el-get-update
|
||||||
|
;; el-get-list-packages)
|
||||||
|
;; :config
|
||||||
|
;; (progn
|
||||||
|
;; (defun el-get-read-status-file ()
|
||||||
|
;; (mapcar #'(lambda (entry)
|
||||||
|
;; (cons (plist-get entry :symbol)
|
||||||
|
;; `(status "installed" recipe ,entry)))
|
||||||
|
;; el-get-sources))))
|
||||||
|
|
||||||
(require 'bind-key)
|
(require 'bind-key)
|
||||||
|
|
||||||
|
@ -240,6 +278,7 @@
|
||||||
(defines (plist-get args :defines))
|
(defines (plist-get args :defines))
|
||||||
(keybindings (plist-get args :bind))
|
(keybindings (plist-get args :bind))
|
||||||
(predicate (plist-get args :if))
|
(predicate (plist-get args :if))
|
||||||
|
(pkg-load-path (plist-get args :load-path))
|
||||||
(defines-eval (if (null defines)
|
(defines-eval (if (null defines)
|
||||||
nil
|
nil
|
||||||
(if (listp defines)
|
(if (listp defines)
|
||||||
|
@ -282,11 +321,39 @@
|
||||||
|
|
||||||
(unless (plist-get args :disabled)
|
(unless (plist-get args :disabled)
|
||||||
`(progn
|
`(progn
|
||||||
|
,@(mapcar
|
||||||
|
#'(lambda (path)
|
||||||
|
`(add-to-list 'load-path
|
||||||
|
,(expand-file-name path user-emacs-directory)))
|
||||||
|
(if (stringp pkg-load-path)
|
||||||
|
(list pkg-load-path)
|
||||||
|
pkg-load-path))
|
||||||
|
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
,@defines-eval
|
,@defines-eval
|
||||||
,(if (stringp name)
|
,(if (stringp name)
|
||||||
`(load ,name t)
|
`(load ,name t)
|
||||||
`(require ',name nil t)))
|
`(require ',name nil t)))
|
||||||
|
|
||||||
|
,(when (and (boundp 'el-get-sources)
|
||||||
|
(plist-get args :type))
|
||||||
|
(setq args
|
||||||
|
(mapcar #'(lambda (arg)
|
||||||
|
(cond
|
||||||
|
((eq arg :config)
|
||||||
|
:after)
|
||||||
|
((eq arg :requires)
|
||||||
|
:depends)
|
||||||
|
(t
|
||||||
|
arg)))
|
||||||
|
args))
|
||||||
|
(unless (plist-get args :name)
|
||||||
|
(nconc args (list :name (if (stringp name)
|
||||||
|
name (symbol-name name)))))
|
||||||
|
(nconc args (list :symbol (if (stringp name)
|
||||||
|
(intern name) name)))
|
||||||
|
`(push (quote ,args) el-get-sources))
|
||||||
|
|
||||||
,(if (or commands (plist-get args :defer))
|
,(if (or commands (plist-get args :defer))
|
||||||
(let (form)
|
(let (form)
|
||||||
(unless (listp commands)
|
(unless (listp commands)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue