JavaScript旧API

(旧)プラグイン制御

miバージョン3.10以降にて、よりわかりやすい構文で記述できる新たなAPIを追加しました。こちらをご参照ください。
(旧APIには変更はございません。従来のコードのまま使用可能です。)

関数説明

registerPlugin(modeName,id, name, defaultEnabled, defaultOptions)

modeName: String: 対象モードの名称
id : String: プラグインのID(他のプラグインと重複しないユニークなID。例:"std.jshint.mimikaki.net")
name : プラグイン名称
defaultEnabled : デフォルトのON/OFF状態
defaultOptions : デフォルトのオプション文字列

プラグインを登録します。
※プラグイン用のスクリプトでは、registerPluginは必須です。registerPluginを含まないスクリプトはpluginsフォルダにあっても処理されません。

コード例:

mi.registerPlugin(modeName,"std.jshint.mimikaki.net","JSHINT",false,"");

setPluginDisplayName(modeName,id,lang,displayName)

modeName: String: 対象モードの名称
id : String: プラグインのID
lang : String: 言語名(現状、"ja"のみ対応)
displayName : 表示名

プラグインの英語以外での表示名を設定します。

コード例:

mi.setPluginDisplayName(modeName,pluginId,"ja","JSHINT (JavaScript 文法チェック)");

getPluginEnabled(modeName,id)

modeName: String: 対象モードの名称
id : String: プラグインのID

このプラグインがONに設定されているかどうかを取得します。
プラグインのON/OFFは、モード設定「詳細」タブの「プラグイン」のリストで設定できます。

コード例:

if( mi.getPluginEnabled(modeName,pluginId) === true ) { 
(イベントリスナー登録などの処理) }

getPluginOptions(modeName,id)

modeName: String: 対象モードの名称
id : String: プラグインのID
返り値: String

このプラグインのオプション文字列を取得します。
プラグインのオプション文字列は、モード設定「詳細」タブの「プラグイン」のリストの「オプション文字列」の列で設定できます。

コード例:

str = mi.getPluginOptions(doc.getModeName(), "my_plugin_id");

getCurrentModeNameForPluginLoad()

現在ロード中の対象モードの名称を取得します。プラグインロード処理内でのみ使用可能です。

コード例:

modeName = mi.getCurrentModeNameForPluginLoad();

(旧)イベントリスナー制御

関数説明

addEventListener(modeName, id, events, fn)

modeName: String: 対象モードの名称
id : String: プラグインのID
events : Array of String : 対象イベント
fn : function(doc, event, parameter) : イベントリスナー

ドキュメント保存等のイベント発生時にコールされる関数(イベントリスナー)を登録します。
※内部的にremoveEventListeners()を実行しているため、指定プラグインIDに対応する既存のイベントリスナーは登録解除されます。

コード例:

mi.addEventListener(modeName, pluginId, ["onSaved", "onOpened"],
function(doc, event, parameter) {
(処理)}

removeEventListeners(modeName, id)

modeName: String: 対象モードの名称
id : String: プラグインのID

イベントリスナーを登録解除します。
指定プラグインIDに対応するイベントリスナーが全て登録解除されます。

イベントリスナー(イベント発生時にコールされる関数)

function(doc, event, parameter)
doc: ドキュメントオブジェクト
event: イベント名
parameter: パラメータ(現在のバージョンでは、必ず空文字列です。)

イベントリスナーは、イベント発生時に左記のパラメータでmiからコールされます。

イベントの種類

イベント名パラメータ発生するタイミング

onOpened

空文字列

ドキュメントをオープンしたとき

onSaved

空文字列

ドキュメントを保存したとき

(旧)ダイアログの表示

miバージョン3.7より、一般的なダイアログ表示関数の仕様に合わせた、alert(), confirm(), prompt()を新規追加しました。
バージョン3.6以前のshowDialog()も、互換性のため残していますが、alert(), confirm(), prompt()の方を推奨します。

関数説明

showDialog(title, message)

title: String : タイトル
message: String : メッセージ

OKボタンを持つダイアログを表示します。
(ダイアログの左下に、ツール実行を中断するボタンも表示されます。)

コード例:

mi.showDialog("タイトル","メッセージ");

showDialog(title, message, okButton)

title: String : タイトル
message: String : メッセージ
okButton: String : OKボタンのタイトル

OKボタンを持つダイアログを表示します。
OKボタンのタイトルを指定できます。
(ダイアログの左下に、ツール実行を中断するボタンも表示されます。)

コード例:

mi.showDialog("タイトル","メッセージ","おっけー");

showDialog(title, message, okButton, cancelButton)

title: String : タイトル
message: String : メッセージ
okButton: String : OKボタンのタイトル
cancelButton: String : Cancelボタンのタイトル
返り値: String : クリックされたボタンのタイトル

OK, Cancelボタンを持つダイアログを表示します。
OK, Cancelボタンのタイトルを指定できます。
(ダイアログの左下に、ツール実行を中断するボタンも表示されます。)

コード例:

if( mi.showDialog("タイトル","メッセージ","続行","キャンセル") == "キャンセル" )   break;

→実行結果:ユーザーがキャンセルをクリックしたらbreakします。