How My Heart Sings

Sun, 12 Jun 2005

CotEditor用のスクリプトを書いてみる

CotEditor用のスクリプトを書いてみた。といっても一から書いたわけではなく、KEdit用のスクリプトからの流用ですが。参考にしたのは、添付されている次のようなシェルスクリプトです。

#! /bin/sh
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%

INPUT=`cat -`
echo "<h1>${INPUT}</h1>"

最初はどのようにしたら良いかピンとこなかったのですが、パイプしてやれば良いことに気付きまして、その後は順調に進みました。参考までに、いくつか例を挙げておきます。…使っているコマンドがsedやら何やらと古いのは、これらのスクリプトが古くはMacOS8くらい、HundoshiEditsedMacjgawkMacのために書いたものだから。(念の為に…これらはMacOSXの今も現役のソフトウェアです。)

#! /bin/sh
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%

INPUT=`cat - | sed "
    s/&/\&amp;/g
    s/</\&lt;/g
    s/>/\&gt;/g
    s/\"/\&quot;/g"`
echo ${INPUT}
#! /bin/sh
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%

INPUT=`cat - | awk '{
    if (/^$/)
        next
    else
        sub("^","\t<li>")
        sub("$","</li>")
    print
}'`
echo "<ul>
${INPUT}
</ul>"

あ、今回ハマった点をひとつ。スクリプトの二行目から三行目のコメント部分は必須なので、削除してはダメ。アプリケーションがクラッシュします。最初はスクリプトにエラーがあるせいだと思っていたのですが、そういう場合はCotEditorScript Error windowに表示されるのですね。

…どうしてこれを書こうとしたかというと、先行き不安だったから(何が)。

Meta Infomation of this entry

You can add this Entry to your  はてなブックマーク and Delicious

Comments

Add Comment...

スパム対策のため、一ヶ月を経過したエントリにはコメントを書き込めないのです…後、http:と書くこともできません。

Name:

Comment:

Le violon intérieur....
Yasuo Yamashita
vaiorinnhiATTOnaDOTrimDOTorjye-pi-
Y.A.S.U.O Ytterbium Artificial Sabotage and Utility Organism Y.A.S.U.O Yelling Abomination from the Sunless Underground Oasis

Pyblosxom and plugins. For detail, see http://viole.sakura.ne.jp/blosxom/blosxom.cgi/plugin_info