|
* 改行コードの混在警告&統一 [#a24bcaca] -ページ: [[Macro/投稿]] -作者: [[971]] -カテゴリー: js -投稿日: 2009-11-25 (水) 10:39:59 ** メッセージ [#n7c975f7] &size(14){自動実行マクロ(開ファイル後やファイル保存前)に割り当てて使うと便利かも}; #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) { Editor.MoveHistPrev(); Editor.SearchClearMark(); var WSHShell = new ActiveXObject("WScript.Shell"); if (WSHShell.Popup("改行コードが混在しています。\n現在の入力改行コード(" + strEol + ")に統一しますか?", 0, "改行コード混在", 4) == 6) { Editor.ReplaceAll(strFind, strReplace, 4); Editor.MoveHistPrev(); } } }} ---- - 無警告で統一したければ行33を削除するだけでできます -- [[971]] &new{2009-11-25 (水) 11:06:09}; - あと、ファイル名の拡張子を見て警告・統一する/しないを判定するとか、文字コードがEUCならLFに統一するとか、好みにあわせてカスタマイズしたらいい。 -- [[971]] &new{2009-11-25 (水) 11:11:02}; #comment |