2020-01-25T09:29:40+09:00

ModuleLoader 4.0b1 : AppleScript の近代的ライブラリシステム

ModuleLoader は、OS X 10.9 で導入された AppleScript Libraries 登場以前から開発されている AppleScript のライブラリシステムです。

AppleScript Libraries にはできない、

といったことができます。AppleScript Libaries と併用できます。

次の、例のように、use 構文の後で property 定義部で setup コマンドを実行すると、全てのライブラリを読み込んだ状態でスクリプトを保存できます。実行時にはライブラリはいらなくなるので、配布するスクリプトの作成に有用です。

use scripting additions
use SimpleTextLib : script "SampleLibs/SimpleTextLib"
property _ : script "ModuleLoader"'s setup(me)

SimpleTextLib's replace_text("Do your task", "your", "my")
-- result : "Do my task"

おおよその開発は随分前に完了していましたが、マニュアルのアップデートがいまだ執筆中で公開に至っていませんでした。

とりあえず、本体とサンプルコードを公開します。

Version 3.0 まで、スクリプティング機能追加として実装されていましたが、macOS 10.14 から SIP によって、サードパーティーのスクリプティング機能追加が使えなくなってしまいました。そこで、AppleScript ライブラリ+バンドル内のヘルパーアプリケーションという形に実装し直しました。

あんまり使ってくれている人はいないと思うのですが、もし Version 2.1-3.0.x を使ってくれている人がいたら、

property LibraryName : module → property LibraryName : "@module"

boot (module loader) for me → script "ModuleLoader"'s setup(me)

と置き換えてくれれば、同じように使えます。

現在、鋭意マニュアルを執筆中です。できた分から、このプログに公開していきます。