el-get/recipes/yasnippet.el
Dave Abrahams 88880fa6e1 Make yasnippet recipe do less work up-front, so as not to penalize
everyone who might want to use it.

Fixes #236
2011-06-05 15:02:12 -04:00

33 lines
1.8 KiB
EmacsLisp

(:name yasnippet
:type svn
:url "http://yasnippet.googlecode.com/svn/trunk/"
:features "yasnippet"
:prepare (lambda ()
;; Set up the default snippets directory
;;
;; Principle: don't override any user settings
;; for yas/snippet-dirs, whether those were made
;; with setq or customize. If the user doesn't
;; want the default snippets, she shouldn't get
;; them!
(unless (or (boundp 'yas/snippet-dirs) (get 'yas/snippet-dirs 'customized-value))
(setq yas/snippet-dirs
(list (concat el-get-dir (file-name-as-directory "yasnippet") "snippets")))))
:post-init (lambda ()
;; Trick customize into believing the standard
;; value includes the default snippets.
;; yasnippet would probably do this itself,
;; except that it doesn't include an
;; installation procedure that sets up the
;; snippets directory, and thus doesn't know
;; where those snippets will be installed. See
;; http://code.google.com/p/yasnippet/issues/detail?id=179
(put 'yas/snippet-dirs 'standard-value
;; as cus-edit.el specifies, "a cons-cell
;; whose car evaluates to the standard
;; value"
(list (list 'quote
(list (concat el-get-dir (file-name-as-directory "yasnippet") "snippets"))))))
)