allow yas/dont-activate to take list of functions with default being (minibufferp)

- This allows the user to configure whether yasnippet should be enabled in
  minibuffer while preserving the current default.
This commit is contained in:
Le Wang 2012-06-05 00:34:08 +08:00
parent 5ed6adadce
commit 6b841dd247

View File

@ -812,9 +812,14 @@ Key bindings:
(remove-hook 'emulation-mode-map-alists 'yas/direct-keymaps))))
(defvar yas/dont-activate nil
(defvar yas/dont-activate '(minibufferp)
"If non-nil don't let `yas/minor-mode-on' active yas for this buffer.
If a function, then its result is used.
If a list of functions, then all functions must return nil to
activate yas for this buffer.
`yas/minor-mode-on' is usually called by `yas/global-mode' so
this effectively lets you define exceptions to the \"global\"
behaviour. Can also be a function of zero arguments.")
@ -825,10 +830,11 @@ behaviour. Can also be a function of zero arguments.")
Do this unless `yas/dont-activate' is truish "
(interactive)
(unless (or (minibufferp)
(if (functionp yas/dont-activate)
(funcall yas/dont-activate)
yas/dont-activate))
(unless (cond ((functionp yas/dont-activate)
(funcall yas/dont-activate))
((consp yas/dont-activate)
(some #'funcall yas/dont-activate))
(yas/dont-activate))
;; Load all snippets definitions unless we still don't have a
;; root-directory or some snippets have already been loaded.
;;