モダンPerlの世界へようこそ

第17回 Padre:Perlで拡張できるコミュニティのための開発環境

この記事を読むのに必要な時間:およそ 4 分

Padreの誕生

残念ながら2007年まで断続的に努力を続けたものの,この助成金では最終的なPerl Editorの作成まではたどり着けなかったのですが,氏は決してPerl用のエディタ作りを諦めたわけではありませんでした。Proton CEが最終的にKephraとしてCPANに登録されたあと(2008年2月⁠⁠,2008年7月に(その年宮川達彦氏とともにホワイト・キャメル賞を受賞した)ガボル・サボ(Gábor Szabó)氏が新しいエディタの開発をアナウンスすると,氏もすぐにコミッタとして参加しています。

当初はApp::Editorと呼ばれていたそれが,Padre(Perl Application Development and Refactoring Environment)という名前をもらったのはイタリアのPerlユーザたちからの提案だったそうですが(padre(パードレ)というのはイタリア語で「父」という意味です⁠⁠,直後に開催されたYAPC::EU 2008のライトニングトークでは,実際にPadreからPerlのスクリプトファイルを開いて実行する様子を見せて喝采を浴びていました。

Padreは誕生して1年ちょっとの若いプロジェクトなので,viやEmacsの仲間をバリバリにカスタマイズして使っている人にとっては物足りなく感じられる面もあると思いますが,機能一覧を見てもわかる通り,Perlmonksのようなコミュニティサイトで話題になった機能を積極的に取り入れようとしているところがひとつの特徴といってよいでしょう。折からのPerl is unDeadのような運動を受けて,はじめてPerlに触れる初心者に向けた配慮も見られますし,Perl 6を学ぶためのとっかかりに,というのもお題目のひとつとしてあげられています。国際化にも熱心で,すでに日本語を含む18か国語に対応済み。本体の更新ペースが速いのでなかなか100%翻訳済みの状態にはできないのですが,日本語については時折筆者が更新をしています。

その他,おもな機能としては次のようなものがあります。

  • 基本的な編集機能(矩形選択などにも対応)
  • 検索・置換(インクリメンタルサーチ対応。改行,空白などの変換含む)
  • 構文ハイライト
  • 構文チェック(Perl 5,Perl 6)
  • ソースファイルなどのツリー表示
  • Module::Starterによるひな形作成
  • スクリプトやテストの実行
  • 右クリックによるコンテキストメニュー
  • 差分作成
  • アウトライン表示
  • コードの折り畳み
  • 各種ヘルプ(オンラインサポート,インストール済みのPODの表示など)

画像

Padreのインストール

もっとも,どんなにすぐれたアプリケーションであっても,簡単にインストールできないようでは使う気にはなれないものです。

その点,Padreははじめて使うWindowsユーザでもインストールに困らないようStrawberry Perl(やRakudo)を同梱したインストーラを用意するといった配慮がされているのですが,それでも環境によっては一筋縄ではいかない部分があります。

詳細はプロジェクトのダウンロードページや,サポート用のWikiをご覧いただくとして,いつも通りにCPANからインストールする場合,ハマリどころはおおよそ3つに分類できます。

  1. システム標準のperlがスレッドに対応していない場合(Mac OS X,FreeBSDなど⁠⁠,まずはperlバイナリをコンパイルし直す(あるいはスレッド対応のwxPerlなどを別途インストールする)ところから始める必要があります。

  2. Padreはかなり新しいWx(とwxWidgets)を要求します。古い2.6系列のwxWidgetsでは動かないのはもちろん,OS付属のパッケージャの類では十分な最新版が用意されていない場合があります。この場合はCPANから最新のWxやAlien::wxWidgetsを自分でインストールする必要がありますが,場合によってはあらかじめ別の外部ライブラリ(OpenGLなど)をインストールしたり,makeファイルの種類をgnu makeに変えたりする必要があるかもしれません。

  3. Padreそのものが例によってかなり依存モジュールが多いアプリケーションです(特にプラグインを大量に利用する場合⁠⁠。環境によってはCPANから依存モジュールをインストールするときにテストに失敗したり,インストールが先に進まなくなるようなケースもあるかもしれません。

こういった問題は,見つかるたびにPadreチームの面々が関係各所に連絡をとって修正をお願いしていますが,まだ十分にテストされていない環境もあります。問題が起こった場合はぜひIRCirc://irc.perl.org/#padreやメーリングリストなどで開発陣に声をかけていただければと思います。

インストールが済んだら,コマンドラインからpadreというコマンドを実行すると,Padreが起動します。本稿執筆時点ではキーバインディングは固定で,すべての動作にキーが割り当てられているわけでもないので,どうしてもマウス頼りになってしまう部分はありますが,それを除けば,あとの使い方にはそれほど困ることはないでしょう。

依存モジュールのインストールが苦にならない方はSubversionリポジトリの開発版を利用することもできます。

> svn co http://svn.perlide.org/padre/trunk

チェックアウトが済んだらPadreディレクトリの中に移動して,dev.plを実行してください。依存モジュールに問題がなければ,タイトルバーにリビジョン番号が入った開発版が起動するはずです。

> cd Padre
> perl dev.pl

Padreのプラグイン

Padreは単体でもそれなりに使えますが,各種プラグインをインストールするとさらに便利に使えるようになります。

たとえば,Catalyst用のプラグインであれば新規プロジェクトなどの作成はもちろんのこと,作成したプロジェクトのスタンドアロンサーバを起動してブラウザから確認するような作業がPadreから直接できるようになりますし,基本的なオンラインドキュメントへのリンクも用意されています。

画像

GitやSubversionを扱うプラグイン,Perl::CriticやPerl::Tidyのためのプラグインや,どうしてもvi風に使いたいという人のためのPadre::Plugin::Vi,Eclipseのような機能を追加するPadre::Plugin::Eclipticのようなものもあります。

もちろんPadreはPerlで書かれているのですから,必要に応じて自分用のプラグインを追加することもできます。Wxのマニュアルはあまり整備されていないので書き方に慣れるまではしばらく苦労するでしょうが,公開できる状態になったらぜひ開発チームに声をかけてください。公式リポジトリに入れておけば,翻訳チームが適宜国際化用のファイルを付け加えてくれるはずです。

既存のエディタに不満があるなら

連載第11回でも紹介したように,Padreは昨年12番目に多く更新があった名前空間です。いまも活発に開発が進められていますし,その勢いが落ち着くまでにはもうしばらくかかるでしょう。エディタは日々の仕事の能率に直結するものだけに,既存のエディタに満足しているなら慌てて乗り換える必要はありません。

ただ,新しいものが好きな方や,いまのエディタに不満を感じている方は,ぜひ一度Padreを試してみてください。メインの環境として使うかどうかはともかく,PPIを駆使したアウトラインや折り畳み表示は十分一見の価値がありますし,とかくWebと結びつけられがちなPerlの世界でもこのようなGUIユーザインタフェースを実現できるということは,もっと多くの人に知られていてもよいと思います。

著者プロフィール

石垣憲一(いしがきけんいち)

あるときは翻訳家。あるときはPerlプログラマ。先日『カクテルホントのうんちく話』(柴田書店)を上梓。最新刊は『ガリア戦記』(平凡社ライブラリー)。

URLhttp://d.hatena.ne.jp/charsbar/