- 追加された行はこの色です。
- 削除された行はこの色です。
* 改行コードの混在警告&統一 [#a24bcaca]
-ページ: [[Macro/投稿]]
-作者: [[971]]
-カテゴリー: js
-投稿日: 2009-11-25 (水) 10:39:59
** メッセージ [#n7c975f7]
#code(javascript){{
// 【UnifyEol.js】
// 改行コードの混在警告&統一
// ★正規表現にbregonig.dllが必要★
var strEol;
var strFind;
var strReplace;
switch (Editor.GetLineCode())
{
case 1:
strEol = "CR"
strFind = "\r\n|(?<!\r)\n";
strReplace = "\r";
break;
case 2:
strEol = "LF"
strFind = "\r\n|\r(?!\n)";
strReplace = "\n";
break;
default:
strEol = "CRLF"
strFind = "\r(?!\n)|(?<!\r)\n";
strReplace = "\r\n";
break;
}
Editor.CancelMode();
Editor.SearchNext(strFind, 36);
if( Editor.IsTextSelected() != 0 )
if (Editor.IsTextSelected() != 0)
{
Editor.MoveHistPrev();
Editor.SearchClearMark();
var WSHShell = new ActiveXObject("WScript.Shell");
if( WSHShell.Popup("改行コードが混在しています。\n現在の入力改行コード(" + strEol + ")に統一しますか?", 0, "改行コード混在", 4) == 6 )
if (WSHShell.Popup("改行コードが混在しています。\n現在の入力改行コード(" + strEol + ")に統一しますか?", 0, "改行コード混在", 4) == 6)
{
Editor.ReplaceAll(strFind, strReplace, 4);
Editor.MoveHistPrev();
}
}
}}
----
- 自動実行マクロ(開ファイル後やファイル保存前)に割り当てて使えばいいんじゃね? -- [[971]] &new{2009-11-25 (水) 10:44:13};
- 無警告で統一したければ行33を削除するだけでできます -- [[971]] &new{2009-11-25 (水) 11:06:09};
- あと、ファイル名の拡張子を見て警告・統一する/しないを判定するとか、文字コードがEUCならLFに統一するとか、好みにあわせてカスタマイズしたらいい。 -- [[971]] &new{2009-11-25 (水) 11:11:02};
#comment