Как стать автором
Обновить

Комментарии 7

У use-package кстати хороший конкурент в лице leaf.el

Как мне кажется leaf более чистый чем use-package, а ещё есть много интересных встроенных keywords

Ещё он лучше справляется с проблемой, которая описана в этой статье. Я лично его использую

Интересные штуки - но хороши, когда только входишь в Emacs, а вот если конфиг вырос за долгие годы и последние лет десять к нему особо не притрагивался, то как то лениво пробовать ) У меня ещё со времён 19.34 per-package (хотя тогда это были просто сторонние el файлы) конфигурация вынесена в отдельные файлики, в .emacs цикл, загружающий их при наличии пакета.

У меня аналогичная ситауция, с годами конфиг емакса как-то устаканился и всё более-менее устраивает, устраивать big bang очень не хочется.

Но с другой стороны видимо придётся поразбираться и обновить/отрефакторить то что есть.

Так что автору большое спасибо!

Напомню правила админа:
1. Работает - не трогай.

Это всё правильно, но двигаться вперёд тоже нужно. Откатить конф емакса - это совсем пустяк

Говорят (не знаю, правда ли) что Тим О'Райли из одноимённого издательства долго сидел на emacs, но в какой то момент умудрился потерять конфиги - и решил, что чем воссоздавать, проще перейти на vi.

(use-package anzu :init (global-anzu-mode 1))

Такой код будет работать. А вот с :config - ещё вопрос. Но вообще система инициализации в emacs настолько сложна, что, перерыв все ихсодники, прочитав package.el, cus-* и т.п. всё равно не понимаешь как инициализировать его правильно. setq vs setopt и т.п. большниство конфигов даже с use-package неправильны... тут целая статья нужна. но что-то я отвлёкся.

Почему будет работать: в пакетах есть autoloads. функция в 99% будет объявлена как autoload (если пакет написан нормально) и require отработает ДО вызова функции.

Почему с :config может не заработать: этот код по-сути эквивалент `(with-eval-after-load 'anzu (global-anzu-mode 1)). Т.е. пока кто-нибудь не дёрнет autoload функцию из пакета или не вызовет сам пакет global anzu mode не будет.

Но, иногда пакеты умеют делать трюк с progn+autoload (как magit), чтобы автоматом включить глобальный режим. ну или через custom vars (там ещё интереснее).

А ещё в use-package есть ключевое слово :mode

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории