Coda 2ってば実はプラグインで機能の拡張ができます。
そしてそして、
割とたくさんのプラグインが公開されてたりもします。
個人的にお世話になってるのは、
- Coda PHP & Web Toolkit // chipwreck
- Downloads · miripiruni/CSScomb · GitHub
- TEA for Coda | One Crayon
くらいですが、他にも探せば便利なのがありそう。
で、今回は自分でプラグインを作るお話。
全角・半角カナを相互に置換するプラグイン
今回作ったのはコレです。
仕事上、こういうシーンがよくあるんです・・・。
使い方
範囲選択して、プラグインから選択すると!
選択範囲の文字が置換されます。
ソース
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自体の使い方は公式のマニュアルで十分解説されてるので、書かなくても忘れないかなぁ。
コマンドメニューの階層のとことか、入出力の設定のとことか、書き出しのとことか。
こういうのサッと作れるようになりたい。