Lazy-load yasnippet harder for faster first-file load time

+ Rather than waiting for the first "interactive" major mode to be
  visited to activate yas-minor-mode, we wait until the first time the
  user invokes a snippet command to activate yas-global-mode.
+ yas-reload-all is one of the bottlenecks when loading a file for the
  first time. Deferring it further should help with this.
+ yas-global-mode reaches more major modes than our former list of
  hooks (fixes #5140).

Closes #5140
This commit is contained in:
Henrik Lissner 2021-06-05 12:49:40 -04:00
parent 5038ba9826
commit 60b595321e
4 changed files with 10 additions and 17 deletions

View file

@ -417,7 +417,8 @@ Made for `org-tab-first-hook' in evil-mode."
(defun +org-yas-expand-maybe-h ()
"Expand a yasnippet snippet, if trigger exists at point or region is active.
Made for `org-tab-first-hook'."
(when (bound-and-true-p yas-minor-mode)
(when (featurep! :editor snippets)
(require 'yasnippet)
(and (let ((major-mode (if (org-in-src-block-p t)
(org-src-get-lang-mode (org-eldoc-get-src-lang))
major-mode))