Tue, 14 Jun 2005
CotEditor用のスクリプトを書いてみるそのさん
ひとつ前のエントリーではAppleScriptのなかにShell Scriptを埋め込んだ例を書きました。今回は、逆の方向で。こっちも試さないとね。
#! /bin/sh
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%
INPUT=`/usr/bin/perl -e '
if ($0 eq __FILE__) {
print &Bdate."\n";
}
sub Bdate
{
local($time) = @_;
local($beat);
$time = $time || time;
local($sec, $min, $hour) = (gmtime($time+60*60*1))[0..2];
$beat = ((($hour * 60 + $min) * 60 + $sec) / 86.4) % 1000;
sprintf("@%03d",$beat);
}
1;'`
osascript << EOF
tell application "CotEditor"
--activate
if exists front document then
set {loc, len} to (range of selection of front document)
set (contents of selection of front document) to "${INPUT}"
set numOfMove to (count of character of selection)
set (range of selection of front document) to {Loc + numOfMove, 0}
end if
end tell
EOF
あ、こんなふうに変数をAppleScriptに渡せるのか。こちらのほうが色々簡単ですかね。AppleScriptの部分は括弧で括ると少しは見易くなるような気がする。