CLCLで重宝している機能の一つが、クリップボード内のテキストを整形するテキスト処理機能です。正確には、tool_textというプラグインをインストールすることで、利用できるようになるものです。
履歴メニューを右クリックすると、さらにメニューが表示され、様々なテキスト処理を行えます。
- 日時変換
- 大文字/小文字変換
- 日本語文字コード変換
- 引用符付加/除去
- テキスト整形
- テキストの挟み込み
- 改行の除去
- テキストの連結
- テキスト編集
エディタの置き換え機能などを使わずに、定型作業を行えるというのは、大変便利なものです。PTHPasteboardでは、おそらくフィルタがこれに該当するのでしょう。
こういった機能をClipMenuでも実現する方法を、いくつか考えてみました。
- Objective-Cで実装
- OgreKitを採用して、正規表現を使用
- RubyCocoa や PyObjCを採用して、RubyやPythonを使用
- WebKitを採用して、JavaScriptを使用
1番目は、ユーザーの手で自由に追加できないので却下。
2番目は、正規表現だけですべてをこなすというのは難しそうなので、同じく却下。
3番が、本当は望ましかったんですが、二つの理由で残念ながら却下になりました。
まず、ドキュメントをざっと見て、実現可能かどうかが分からなかったこと。RubyやPythonからCocoaを利用する例ばかりで、Objective-Cからオブジェクトをスクリプト言語に渡して、結果をまた受け取る方法を見つけられませんでした。
また、RubyCocoaやPyObjCの両方が標準搭載されているのが、Mac OS X v10.5だけというのもネックでした。両方とも、オープンソースで誰でもダウンロードして入手できますが、わざわざインストールしてもらう訳にもいきません。
そういう理由もあり、WebKitのJavaScriptエンジンを利用してみることにしました。Mac OS v10.3.9以降なら、何の追加インストールも必要ないのも魅力です。
それに、思いのほか便利にできています。Objective-CとJavaScriptの間でオブジェクトをやり取りする際は、自動的に型変換を行ってくれます。さらに、JavaScriptに渡したオブジェクトの、Objective-Cで書かれたメソッドを、JavaScript側から呼び出すこともできるようです。Dashboardのプラグインを思い出しました。
「ユーザーが、自由にテキスト加工コマンドを追加可能」をコンセプトに、今後のバージョンアップで実装する予定です。


Recent Comments