Emacsen必携!sfEmacsPlugin

煽り文句から始まりまして恐縮です。30分くらいで書いた拙作のプラグインを紹介します。 sfEmacsPluginはsymfonyコマンドにemacsタスクを追加します。emacsタスクは深い階層になりがちなsymfonyプロジェクトのパスを解決しファイルのオープンを簡単にします。

Emacsen かつ Symfonyプログラマという超マイノリティ向けPluginです

インストール説明の前に先に使用例を説明します。

使用例 その1 アクションを開く

Symfonyプロジェクトのアクションは、通常myproject/apps/myapp/modules/mymod/actions/actions.class.phpというような深い階層のファイルに書かれています。symfony emacsでは次のようにする事で簡単にファイルを開く事ができます。

symfony emacs frontend bookmark/update

この例では、frontendアプリケーションのbookmarkモジュールのactions.class.phpを開き、updateアクションの実装関数であるexecuteUpdate()にバッファを移動します。ただし、actions.class.phpにもアクションは書けますがそのようなケースには対応していません。

使用例 その2 テンプレートを開く

Symfonyプロジェクトのテンプレートも深い所にあります、symfony emacsタスクの引数に一つ(下の例ではSuccess)を追加する事でテンプレートをemacsで開く事ができます。

symfony emacs frontend bookmark/index Success

この例では、frontendアプリケーションのbookmarkモジュールのindexSuccess.phpテンプレートを開きます。

インストール

上の使用例を見て興味を持った奇特な方向けにsfEmacsPluginのインストール方法を説明しますのでもう少し酔っぱらいにおつきあいお願いします。sfEmacsPluginはパッケージファイルを作っていませんので、以下のようにしてSuversionから直接インストールしてください。

svn pe svn:svn:externals plugin

環境変数EDITORで指定したエディタが立ち上がりますので、ここに下記のように追加します。

sfEmacsPlugin http://svn.tracfort.jp/svn/dino-symfony/plugins/sfEmacsPlugin

保存した後、

svn update

とすることで、SubversionリポジトリからsfEmacsPluginをインストールします。また、既にインストール済みの場合は最新版があればこの時更新されます。

シェル環境変数の設定

sfEmacsPluginは環境変数を見て起動するエディタを決定します。以下のような環境変数の設定を.zshrcやら.bashrcに以下のように

export SYMFONY_EDITOR="emacsclient -a emacs -n"

と書いて環境変数をセットしてください。上の例では、emacsclientを利用していますので、もしemacsサーバを動かしていないようでしたら~/.emacs.elに一行次のように

(server-start)

と書いておくと良いかもしれません。


プラグイン関係のエントリが続いてしまいましたが、symfony 1.0.0のプラグイン機構は本当に良くできていて楽しいです。特に本家のPluginの将来展望についてのwikiを見るとPluginの将来はとても期待できます。 symfonyは私のようなlazy folksにとってますますなくてはならない物になりそうです。

Leave a Reply

You must be logged in to post a comment.