Macro/投稿/206 のバックアップ(No.3)




改行コードの混在警告&統一

  • ページ: Macro/投稿
  • 作者: 971?
  • カテゴリー: js
  • 投稿日: 2009-11-25 (水) 10:39:59

メッセージ

  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
// 【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();
    }
}

  • 自動実行マクロ(開ファイル後やファイル保存前)に割り当てて使えばいいんじゃね? -- 971? 2009-11-25 (水) 10:44:13
  • 無警告で統一したければ行33を削除するだけでできます -- 971? 2009-11-25 (水) 11:06:09
  • あと、ファイル名の拡張子を見て警告・統一する/しないを判定するとか、文字コードがEUCならLFに統一するとか、好みにあわせてカスタマイズしたらいい。 -- 971? 2009-11-25 (水) 11:11:02

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS