История изменений
Исправление feofan, (текущая версия) :
Я себе сделал так:
(defun need-package (package &optional min-version no-refresh)
"Install given PACKAGE, optionally requiring MIN-VERSION.
If NO-REFRESH is non-nil, the available package lists will not be
re-downloaded in order to locate PACKAGE."
(if (package-installed-p package min-version)
t
(if (or (assoc package package-archive-contents) no-refresh)
(package-install package)
(progn
(package-refresh-contents)
(require-package package min-version t)))))
(defun require-package (package &optional min-version no-refresh)
"Load PACKAGE at least MIN-VERSION (download if need).
If NO-REFRESH is non-nil, the available package lists will not be
re-downloaded in order to locate PACKAGE."
(need-package package min-version no-refresh)
(require 'package))
Использую так:
;;; Auto-complete
(require-package 'company)
(need-package 'helm-company)
(global-company-mode)
(global-set-key (kbd "C-:") 'helm-company)
Это всё в init.el
Исходная версия feofan, :
Я себе сделал так:
(defun need-package (package &optional min-version no-refresh)
"Install given PACKAGE, optionally requiring MIN-VERSION.
If NO-REFRESH is non-nil, the available package lists will not be
re-downloaded in order to locate PACKAGE."
(if (package-installed-p package min-version)
t
(if (or (assoc package package-archive-contents) no-refresh)
(package-install package)
(progn
(package-refresh-contents)
(require-package package min-version t)))))
(defun require-package (package &optional min-version no-refresh)
"Load PACKAGE at least MIN-VERSION (download if need).
If NO-REFRESH is non-nil, the available package lists will not be
re-downloaded in order to locate PACKAGE."
(need-package package min-version no-refresh)
(require 'package))
Использую так:
;;; Auto-complete
(require-package 'company)
(need-package 'helm-company)
(global-company-mode)
(global-set-key (kbd "C-:") 'helm-company)