「文書が変更されていなければ変更マークを消す」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
注意書きの修正
MSY-07 (トーク | 投稿記録)
SyntaxHighlightにcopyの追加
 
(同じ利用者による、間の11版が非表示)
1行目: 1行目:
この機能はVer 3.0.0でMery本体に実装されたため、それ以降のバージョンを使用しているユーザはこのマクロを導入する必要はありません。
このマクロは[https://www.haijin-boys.com/software/mery/mery-3-0-0#15 Mery Ver 3.0.0]で追加された「『元に戻す』で変更していない状態まで戻したときに変更マーク (*) を消す」と同機能です。


== 概要 ==
== 概要 ==
Meryでは一度編集してUndo等で元の状態に戻しても、変更マーク(タブに表示される「*」マーク)が消えない仕様になっています。
Meryでは一度編集してUndo等で元の状態に戻しても、変更マーク(タブに表示される「*」マーク)が消えない仕様になっています。このマクロを使用すると、結果変更されていないタブの変更マークを消すことができます。
このマクロを使用すると、結果変更されていないタブの変更マークを消すことができます。


[[少し便利な Undo/Redo]]でもUndo/Redoのタイミングで変更マークを消すことができますが、Undo/Redoの度に変更されているかチェックするには私のPCでは少し重かったため任意のタイミングで実行できるように切り出しました。
[[少し便利な Undo/Redo]]でもUndo/Redoのタイミングで変更マークを消すことができますが、Undo/Redoの度に変更されているかチェックするには私のPCでは少し重かったため任意のタイミングで実行できるように切り出しました。


== 注意点 ==
== 注意事項 ==
[[includeライブラリ]]のIO.jsを使用しています。
[[includeライブラリ]]のIO.jsを使用しています。このマクロを使用する前にincludeライブラリをダウンロードし、Macrosフォルダ内に配置してください。
このマクロを使用する前に[[includeライブラリ]]をダウンロードし、Macrosフォルダ内に配置してください。


== ソースコード ==
== ソースコード ==
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
#title = "文書が変更されていなければ変更マークを消す"
#title = "文書が変更されていなければ変更マークを消す"
#include "include/IO.js"
#include "include/IO.js"
42行目: 40行目:
</syntaxhighlight>
</syntaxhighlight>


== 更新履歴 ==
== 変更履歴 ==
* 2019/03/03 初版
* 1.0.0 (2019-03-03)
** 初版

2025年6月30日 (月) 01:05時点における最新版

このマクロはMery Ver 3.0.0で追加された「『元に戻す』で変更していない状態まで戻したときに変更マーク (*) を消す」と同機能です。

概要[編集]

Meryでは一度編集してUndo等で元の状態に戻しても、変更マーク(タブに表示される「*」マーク)が消えない仕様になっています。このマクロを使用すると、結果変更されていないタブの変更マークを消すことができます。

少し便利な Undo/RedoでもUndo/Redoのタイミングで変更マークを消すことができますが、Undo/Redoの度に変更されているかチェックするには私のPCでは少し重かったため任意のタイミングで実行できるように切り出しました。

注意事項[編集]

includeライブラリのIO.jsを使用しています。このマクロを使用する前にincludeライブラリをダウンロードし、Macrosフォルダ内に配置してください。

ソースコード[編集]

#title = "文書が変更されていなければ変更マークを消す"
#include "include/IO.js"

// チェックする文書の最大文字数。マイナスを指定すると無制限。
var maxLength = 10000000;

for (var e = new Enumerator(editor.documents); !e.atEnd(); e.moveNext()) {
	var d = e.item();
	// 保存済みならスキップ
	if (d.Saved) {
		continue;
	}
	// 未保存はスキップ
	if (!d.FullName) {
		continue;
	}
	// サイズ制限
	if (maxLength > 0 && d.Text.length > maxLength) {
		continue;
	}
	// テキストのロード
	var loadText = IO.LoadFromFile(d.FullName, d.Encoding);
	// 一致していれば変更マークを消す
	if (loadText === d.Text) {
		d.Saved = true;
	}
}

変更履歴[編集]

  • 1.0.0 (2019-03-03)
    • 初版
スポンサーリンク