Coda 2ってば実はプラグインで機能の拡張ができます。
そしてそして、
割とたくさんのプラグインが公開されてたりもします。
個人的にお世話になってるのは、
- Coda PHP & Web Toolkit // chipwreck
- Downloads · miripiruni/CSScomb · GitHub
- TEA for Coda | One Crayon
くらいですが、他にも探せば便利なのがありそう。
で、今回は自分でプラグインを作るお話。
プラグインを作るには
やり方は2通りです。
Cocoa書いてAPIを使う
すみません、できません。
Coda Plug-in Creatorで書く
Cocoaなんてさっぱりなので、こちらのやり方を。
参考:Coda 2
ここからCoda Plug-in CreatorをDLして、プラグインを開発します。
こっちのやり方なら、PHPでもRubyでもPerlでもだいたい使えます。
全角・半角カナを相互に置換するプラグイン
今回作ったのはコレです。
仕事上、こういうシーンがよくあるんです・・・。
使い方
範囲選択して、プラグインから選択すると!
選択範囲の文字が置換されます。
ソース
PHPです。
半角カタカナ混じりの文字を、全角カタカナにします。
mb_language("Japanese");
mb_internal_encoding("UTF-8");
$originalEncoding = mb_detect_encoding ($_ENV["CODA_SELECTED_TEXT"]);
$targetString = iconv("UTF-8-MAC", "UTF-8", mb_convert_encoding($_ENV["CODA_SELECTED_TEXT"], "UTF-8"));
$targetString = mb_convert_kana(mb_convert_encoding($targetString, "UTF-8"),"aKnrsV","UTF-8");
function hankaku($replaced){
$pattern1 = array(
'/\x{3001}/u', // 、
'/\x{3002}/u', // 。
'/\x{30FB}/u', // ・
'/\x{300C}/u', // 「
'/\x{300D}/u', // 」
'/\x{FF08}/u', // (
'/\x{FF09}/u' // )
);
$pattern2 = array(
'、',
'。',
'・',
'「',
'」',
'(',
')'
);
return preg_replace($pattern1, $pattern2, $replaced);
}
$targetString = hankaku($targetString);
echo(mb_convert_encoding($targetString, $originalEncoding));
mb_convert_kana関数へ渡す引数を変えれば、簡単に全角→半角も簡単に出来ます。
定義してるhankaku関数は、mb_convert_kanaの置換仕様から逃したいものを定義します。
こんな変なシソーラスでなければ、もっと単純な関数で書けたはず・・。
おわりに
Coda Plug-in Creator自体の使い方は公式のマニュアルで十分解説されてるので、書かなくても忘れないかなぁ。
コマンドメニューの階層のとことか、入出力の設定のとことか、書き出しのとことか。
こういうのサッと作れるようになりたい。