Sun, 12 Jun 2005
CotEditor用のスクリプトを書いてみる
CotEditor用のスクリプトを書いてみた。といっても一から書いたわけではなく、KEdit用のスクリプトからの流用ですが。参考にしたのは、添付されている次のようなシェルスクリプトです。
#! /bin/sh
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%
INPUT=`cat -`
echo "<h1>${INPUT}</h1>"
最初はどのようにしたら良いかピンとこなかったのですが、パイプしてやれば良いことに気付きまして、その後は順調に進みました。参考までに、いくつか例を挙げておきます。…使っているコマンドがsedやら何やらと古いのは、これらのスクリプトが古くはMacOS8くらい、HundoshiEditとsedMacやjgawkMacのために書いたものだから。(念の為に…これらはMacOSXの今も現役のソフトウェアです。)
#! /bin/sh
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%
INPUT=`cat - | sed "
s/&/\&/g
s/</\</g
s/>/\>/g
s/\"/\"/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>"
あ、今回ハマった点をひとつ。スクリプトの二行目から三行目のコメント部分は必須なので、削除してはダメ。アプリケーションがクラッシュします。最初はスクリプトにエラーがあるせいだと思っていたのですが、そういう場合はCotEditorのScript Error windowに表示されるのですね。
…どうしてこれを書こうとしたかというと、先行き不安だったから(何が)。