編集モードの自動選択
「編集モードの自動選択」 または 「書き換え禁止で開く」
「ファイルを開いたとき」専用のイベントマクロです。
拡張子で適切に判別できないファイルの「編集モード」を、ファイル名で自動割りふりします。
また、ふだんは再編集の必要がないファイルをファイル名で自動割りふりして「書き換え禁止」で開くようにします。
※「書き換え禁止」は Mery 上で編集禁止(仮ロック)にする機能で、 [編集]メニューの項目「書き換え禁止」で解除できます。ファイル属性を「読み取り専用」するわけではありません。
- c.f. 「属性変更」マクロ
ソースコード
ファイル名や編集モード名はサンプルですので、ご利用の環境にあわせて適宜書き換えてください。
- ファイル名は、"正規表現で部分一致させる" パターンと "ファイル名を小文字で列挙する" パターンとを利用できます。
- ファイル名の日本語/全角文字の部分はそのまま記述します。
#title = "編集モードの自動選択"
// または
// "書き換え禁止で開く"
// 「ファイルを開いたとき」専用のイベントマクロ
// document.Mode = "HOGE"; => 「編集モード名」を指定する (表示メニューのアイテム)
// document.ReadOnly = true; => 「書き換え禁止」にする (編集メニューのアイテム)
// 【■正規表現でファイル名に「部分一致」させるパターン】と【■"ファイル名" を小文字で列挙するパターン】にファイル名を追加してご利用ください
with ( document ) {
// ■正規表現でファイル名に「部分一致」させるパターン
// ※フラグ i を設定しているばあい、大文字と小文字が区別されない
if ( Name.match( /read ?me|eula|COPYING/i ) ) { // ReadMe ファイルなど
ReadOnly = true;
Quit();
}
if ( Name.match( /正規表現.*\.txt/ ) ) { // 正規表現のリファレンスなど
Mode = "Reg_Exp"; // 「JaneStyle (正規表現用)」から間引きした構文ファイル
ReadOnly = true;
Quit();
}
if ( Name.match( /Mery_小マクロ集/i ) ) { // 『Mery_小マクロ集』
Mode = "JavaScript";
ReadOnly = true;
Quit();
}
// ■"ファイル名" を小文字で列挙するパターン
switch ( Name.toLowerCase() ) {
case "mery.txt": // ReadMe ファイルなど
case "hosts": // ふだんは書き換えの必要のないシステムファイルなど
ReadOnly = true;
break;
case "replacestr.txt": // Jane系2ちゃんブラウザの設定ファイル
case "imageviewurlreplace.dat":
case "urlexec.dat":
case "command.dat":
Mode = "JaneStyle (正規表現用)" // 構文ファイル「JaneStyle (正規表現用)」
break;
default:
break;
}
}
書き換え禁止 ON/OFF
おまけです。
#title = "書き換え禁止 ON/OFF"
#tooltip = "書き換え禁止 ON/OFF"
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",36
if ( document.ReadOnly )
document.ReadOnly = false;
else document.ReadOnly = true;
スポンサーリンク