2013-10-23 26 views
5

特定のカラーテーマを設定するか、カスタムelispを実行する特定のプロジェクトをフックする可能性はありますか?Emacsで特定のプロジェクト(Projectile)のテーマを設定する方法

これは、特定のプロジェクト(パス)からファイルを開くときに、自動的にカラーテーマまたは背景色を設定することです。例えば。私は異なるフレームで複数のプロジェクトを扱うことができ、私がどこにいるのかを即座に知ることができます。これは何らかの形で.projectileファイルに書き込むことができますか?

ここでいうフレームとは、単なるバッファではありません。

+1

これは素晴らしいだろう。しかし、発射体はおそらくこれのために何も持っていないでしょう。 – YuriAlbuquerque

+0

Bleakly related:http://stackoverflow.com/q/3927768/1309352 –

答えて

3

今のところこれを行うことはできませんが、 Projectile issue listに類似のものについてここで議論が行われています。しかし、これを行うには.dir-locals.elファイルを使用することができます。私は、dev2がそれを決定すると、将来同様のファイル.projectileを使って同様のものが実装されるだろうと推測しています。

dir-locals.elは、特定のディレクトリ内のすべてのファイルに対してローカル変数を設定することを目的としています。詳細については、ドキュメントをチェックアウトするか、blog postを参照してください。これは特にelispコードを実行するようには設計されていません(テーマを設定することは、私が信じるロードテーマ関数呼び出しです)。しかし、これを回避するためにeval変数を使うことができ、emacsはコードを実行するかどうか尋ねます。

((nil . ((eval . (load-theme 'molokai 
         ) 
      )))) 

また、主要なモードに応じてさらに魅力的なことをすることもできます。

(load-theme 'zenburn t) 

フックを利用するスクリプトの例はここにある:

((nil . ((indent-tabs-mode . t) 
      (tab-width . 4) 
      (fill-column . 80))) 
    ;; Warn about spaces used for indentation: 
    (haskell-mode . ((eval . (highlight-regexp "^ *")))) 
    (c-mode . ((c-file-style . "BSD"))) 
    (java-mode . ((c-file-style . "BSD"))) 
    ("src/imported" 
    . ((nil . ((change-log-default-name . "ChangeLog.local")))))) 
3

最新の発射(発射-20140716.416)今、プロジェクトのスイッチの後に任意のelispにフックをサポート、などのelisp http://github.com/jfeltz/projectile-load-settings

+0

これは素晴らしいニュースです。これをチェックしてください! – mico

関連する問題