0

構成で使用emacsしていpreludeます。テーマを変更したところ、問題なく動作し、次のpreload directoryように追加しました:

;; preload color theme
(setq prelude-theme 'my-theme)

を介してテーマをインストールしprelude-require-packagesましたが、preloadフォルダーにはインストールされていません (すぐに利用可能になるかどうかはわかりません)。前の行を次のようなより安全なものに置き換えるために、テーマが利用可能かどうかをプログラムで確認する方法はありますか?

;; just to get the idea
(when (is-available 'my-theme)
      (setq prelude-theme 'my-theme))

私が試した編集:

;; preload color theme
(when (featurep 'my-theme)
  (setq prelude-theme 'my-theme))

ただし、この場合、「my-theme.

4

1 に答える 1

1

このload-theme関数はlocate-file、テーマ ファイルを検索するために使用します。このアプローチは、次のコードに基づいています。

(if (locate-file (concat (symbol-name 'my-theme) "-theme.el")
                 custom-theme-load-path '("" "c"))
    (setq prelude-theme 'my-theme))

コンストラクト全体(concat ...)をテーマ ファイル名文字列 (この例では"my-theme-theme.el".

于 2015-07-25T14:08:58.437 に答える