「文書が変更されていなければ変更マークを消す」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
SyntaxHighlightにcopyの追加 |
||
| (2人の利用者による、間の17版が非表示) | |||
| 1行目: | 1行目: | ||
このマクロは[https://www.haijin-boys.com/software/mery/mery-3-0-0#15 Mery Ver 3.0.0]で追加された「『元に戻す』で変更していない状態まで戻したときに変更マーク (*) を消す」と同機能です。 | |||
== 概要 == | |||
Meryでは一度編集してUndo等で元の状態に戻しても、変更マーク(タブに表示される「*」マーク)が消えない仕様になっています。このマクロを使用すると、結果変更されていないタブの変更マークを消すことができます。 | |||
[[少し便利な Undo/Redo]]でもUndo/Redoのタイミングで変更マークを消すことができますが、Undo/Redoの度に変更されているかチェックするには私のPCでは少し重かったため任意のタイミングで実行できるように切り出しました。 | |||
= | == 注意事項 == | ||
[[includeライブラリ]]のIO.jsを使用しています。このマクロを使用する前にincludeライブラリをダウンロードし、Macrosフォルダ内に配置してください。 | |||
== ソースコード == | |||
<syntaxhighlight lang="javascript" copy> | |||
#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; | |||
} | |||
} | |||
</syntaxhighlight> | |||
= | == 変更履歴 == | ||
* 1.0.0 (2019-03-03) | |||
= | |||
* 1.0.0 | |||
** 初版 | ** 初版 | ||
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)
- 初版
スポンサーリンク