How My Heart Sings

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の部分は括弧で括ると少しは見易くなるような気がする。

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