почему Emacs 24 не может найти собственную тему, которую я добавил? - PullRequest
11 голосов
/ 23 марта 2012

Все мои настройки Emacs здесь

Я загрузил свой файл init-theme.el здесь

И, предположительно, это должно сделать темную чистую тему доступной.

Но когда я набираю M-x load-theme TAB, тема darkclean не отображается.

Как я могу зарегистрировать его для Emacs 24?

Ответы [ 4 ]

11 голосов
/ 13 марта 2013

Если вы устанавливаете темы с помощью elpa / package.el, вы заметите, что вам нужно добавить каждую папку темы в custom-theme-load-path - это немного сложно сделать вручную, особенно если принять во внимание обновления создадут новую папку, например 0.1.0 -> 0.1.2 будет новой папкой внутри вашей папки elpa.

Предполагая, что вы установили свои пакеты elpa в ~/.emacs.d/elpa/, добавьте этот скрипт в ~/.emacs.d/init.el

(require 'dash)
(require 's)

(-each
   (-map
      (lambda (item)
      (format "~/.emacs.d/elpa/%s" item))
   (-filter
      (lambda (item) (s-contains? "theme" item))
      (directory-files "~/.emacs.d/elpa/")))
   (lambda (item)
      (add-to-list 'custom-theme-load-path item)))

Вам понадобятся dash.el и s.el (доступно от elpa.)

7 голосов
/ 04 мая 2012

init-themes закомментировал путь загрузки.

У меня есть (add-to-list 'custom-theme-load-path "~/.emacs.d/themes"), и я думаю, что он нашел все мои темы с помощью M-x load-theme, enter, а затем нажмите вкладку, чтобы увидеть все темы.

не было поиска в githubдля вашего репо, так что я не мог grep, чтобы увидеть, если вы делаете это в другом месте.Также ваш Darkclean совместим с темой 24?

Редактировать: 1

На самом деле я подумал о другой технике отладки, чтобы исключить использование Darkclean против установки.поместите в свой каталог соляризованную тему , и если вы не видите ее в своей загрузочной теме, вы знаете, что это вы, а не тема, поскольку соляризация сработала для меня таким образом на emacs 24.

Мне это не нравится, и я предпочитаю вомбат.

2 голосов
/ 11 октября 2012

Я новичок в emacs и хотел добавить несколько пользовательских тем и создать свою собственную.

сначала добавь это

(add-to-list 'custom-theme-load-path "~/.emacs.d/themes")

затем добавьте любую новую тему в эту папку. Сначала это не сработало, и когда я использовал load-theme темы в ~ / .emacs.d / thems, где не загружены

документация гласит:

Каждый файл темы называется THEME-theme.el, где THEME - тема. имя.

поэтому переименование darklean.el в darkclean-theme.el сделало трюк

0 голосов
/ 08 мая 2012

Я думаю, вам нужно установить custom-theme-directory, а затем включить хэш sha256 в custom-safe-themes для удаления запроса на подтверждение каждый раз, когда вы загружаете его. Чтобы вставить хэш sha256, вы можете использовать customize интерфейс, так как тогда он рассчитан для вас. Чтобы включить тема, вам придется включить его в custom-enabled-themes.

Ниже приведен пример из моей настройки:

(custom-set-variables
 ;; ...
 '(custom-enabled-themes (quote (dark-emacs)))
 '(custom-safe-themes (quote ("<SHA256 hash goes here>" default)))
 '(custom-theme-directory "~/.emacs.d/themes/")
)

Чтобы увидеть мои действительные настройки, взгляните на следующие ссылки:

...