2

Пакетный менеджер в Emacs#

 3 years ago
source link: https://solovyov.net/blog/2010/el-get/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Пакетный менеджер в Emacs#

2 min read

·

emacs

Когда используешь Емакс достаточно долго, накапливается большое количество всяких сторонних .el-файлов, пакетов собственно. Всякие yasnippet, grep+, smex’ы и прочие ack’и. Само по себе это, конечно, клёво, но за ними приходится следить, обновлять руками, ложить их в тот же репозиторий с емаксовыми конфигами - а это уже как-то не совсем кайфово, ну и в общем нет чувства икебаны, откровенно говоря. :)

Но тут на прошлой неделе по наводке @helge9210 я пристально посмотрел на el-get и за один вечер на него перешёл. :)

Вкратце - это apt-get для Emacs’a. Пишешь в конфиг емакса декларацию о том, чего ты хочешь видеть, как это скачать, что нужно выполнить после того, как пакет будет на месте - и всё начинает работать автоматически. Всë - это значит, что при старте емакса происходит проверка, на месте ли пакет, при необходимости скачивается, байт-компилируется и добавляется в load-path.

Я себе написал небольшой макрос для облегчения жизни, и теперь большая часть пакетов у меня загружается простой инструкцией:

(el-get-add (:name ack))

Тут конечно есть небольшая хитрость - ack.el есть в списке рецептов el-get’a, но если чего нет, то дело это сильно не осложняет:

(el-get-add (:name project-root :type hg :url “http://hg.piranha.org.ua/project-root/" :features project-root :after (lambda () “…код инициализации project-root…")))

Я думаю, что большая часть параметров тут сама собой понятна, а :features project-root всего лишь значит, что нужно вызвать (require 'project-root).

Инсталляция el-get предельно проста и описана в README, после чего он оказывается установленным в ~/.emacs.d/el-get/el-get/ (~/.emacs.d/el-get/ - общее место для инсталляции пакетов). В общем, клёвая штука, рекомендую. :)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK