Merge pull request #493 from npostavs/ijit

Allow jit loading interactively
This commit is contained in:
João Távora 2014-07-20 23:34:00 +01:00
commit 2b24aeaf80

View File

@ -1697,8 +1697,10 @@ the current buffers contents."
Below TOP-LEVEL-DIR each directory should be a mode name. Below TOP-LEVEL-DIR each directory should be a mode name.
Optional USE-JIT use jit-loading of snippets." With prefix argument USE-JIT do jit-loading of snippets."
(interactive "DSelect the root directory: ni\np") (interactive
(list (read-directory-name "Select the root directory: " nil nil t)
current-prefix-arg t))
(unless yas-snippet-dirs (unless yas-snippet-dirs
(setq yas-snippet-dirs top-level-dir)) (setq yas-snippet-dirs top-level-dir))
(dolist (dir (yas--subdirs top-level-dir)) (dolist (dir (yas--subdirs top-level-dir))
@ -1791,13 +1793,16 @@ prompt the user to select one."
(call-interactively 'yas-load-directory)) (call-interactively 'yas-load-directory))
errors)) errors))
(defun yas-reload-all (&optional interactive) (defun yas-reload-all (&optional no-jit interactive)
"Reload all snippets and rebuild the YASnippet menu. "Reload all snippets and rebuild the YASnippet menu.
When called interactively force immediate reload of all known When NO-JIT is non-nil force immediate reload of all known
snippets under `yas-snippet-dirs', otherwise use just-in-time snippets under `yas-snippet-dirs', otherwise use just-in-time
loading." loading.
(interactive "p")
When called interactively, use just-in-time loading when given a
prefix argument."
(interactive (list (not current-prefix-arg) t))
(catch 'abort (catch 'abort
(let ((errors) (let ((errors)
(snippet-editing-buffers (snippet-editing-buffers
@ -1842,14 +1847,14 @@ loading."
;; Reload the directories listed in `yas-snippet-dirs' or prompt ;; Reload the directories listed in `yas-snippet-dirs' or prompt
;; the user to select one. ;; the user to select one.
;; ;;
(setq errors (yas--load-snippet-dirs interactive)) (setq errors (yas--load-snippet-dirs no-jit))
;; Reload the direct keybindings ;; Reload the direct keybindings
;; ;;
(yas-direct-keymaps-reload) (yas-direct-keymaps-reload)
(run-hooks 'yas-after-reload-hook) (run-hooks 'yas-after-reload-hook)
(yas--message 3 "Reloaded everything%s...%s." (yas--message 3 "Reloaded everything%s...%s."
(if interactive "" " (snippets will load just-in-time)") (if no-jit "" " (snippets will load just-in-time)")
(if errors " (some errors, check *Messages*)" ""))))) (if errors " (some errors, check *Messages*)" "")))))
(defvar yas-after-reload-hook nil (defvar yas-after-reload-hook nil