Има ли най-добра практика за режимите на лениво зареждане, когато се натъкнете на подходящо файлово разширение?
В този момент имам инсталирани приблизително 25 различни режима на Emacs и стартирането стана бавно. Например, въпреки че е страхотно да имаш clojure-mode в готовност, аз рядко го използвам и искам изобщо да избягвам зареждането му, освен ако не отворя файл с разширение .clj. Такава функционалност за „мързеливо изискване“ изглежда като правилния начин за конфигуриране на режима като цяло.
Не намерих нищо онлайн, така че го пробвах сам.
Вместо:
(require 'clojure-mode)
(require 'tpl-mode)
Имам това:
(defun lazy-require (ext mode)
(add-hook
'find-file-hook
`(lambda ()
(when (and (stringp buffer-file-name)
(string-match (concat "\\." ,ext "\\'") buffer-file-name))
(require (quote ,mode))
(,mode)))))
(lazy-require "soy" 'soy-mode)
(lazy-require "tpl" 'tpl-mode)
Това изглежда работи (аз съм начинаещ в elisp, така че коментарите са добре дошли!), но съм изнервен, че не намирам нищо написано по тази тема онлайн. Това разумен подход ли е?