Есть ли рекомендация относительно ленивых режимов загрузки при обнаружении соответствующего расширения файла?
На данный момент у меня установлено примерно 25 различных режимов Emacs, и запуск стал медленным. Например, хотя хорошо иметь clojure-режим наготове, я редко им пользуюсь и хочу вообще не загружать его, если я не открою файл с расширением .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, поэтому комментарии приветствуются!), Но я нервничаю из-за того, что ничего не написал по этой теме в Интернете. Это разумный подход?