添付ファイルの情報



[添付ファイル一覧] [全ページの添付ファイル一覧]

filegrep_keta_soroe_v3.js
格納ファイル名:attach/4D6163726F2FC5EAB9C62F323232_677265705F6B6574615F736F726F655F76332E6A73
ページ:Macro/投稿/222
格納ファイル名:attach/4D6163726F2FC5EAB9C62F323232_677265705F6B6574615F736F726F655F76332E6A73
MD5ハッシュ値:8b183539708bb109e1b3f3f1cfcc9aac
サイズ:2.6KB (2617 bytes)
Content-type:application/octet-stream
登録日時:2013/12/08 15:30:21
アクセス数:794
MD5ハッシュ値:8b183539708bb109e1b3f3f1cfcc9aac
filegrep_keta_soroe_v3.js
  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
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
// grep_keta_soroe.js
(function(){
    var auto_detect = false;
    var topLine = 1;
    {
        var lineMaxCount = Editor.GetLineCount(0);
        var lineNum = lineMaxCount;
        for(lineMaxCount; 0 < lineNum; lineNum-- ){
            var lineStr = Editor.GetLineStr(lineNum);
            if( lineStr.substr(0, 8) == "□検索条件  \"" ){
                topLine = lineNum;
                break;
            }
        }
    }
    var grep_lines = function( func, func_begin, func_end ){
        var lineCount = Editor.GetLineCount(0);
        var lineNum = topLine;
        var mode = 0;
        for( ; lineNum <= lineCount; lineNum++ ){
            var lineStr = Editor.GetLineStr(lineNum);
            if( mode == 0 ){
                if( lineStr.substr(0, 8) == "□検索条件  \"" ){
                    mode = 1;
                }
                continue;
            }else if( mode == 1 ){
                if( lineStr == "\r\n" ){
                    mode = 2;
                }
                if( lineStr == "    (文字コードセットの自動判別)\r\n" ){
                    auto_detect = true;
                }
                continue;
            }else if( mode == 2 ){
                if( lineStr != "\r\n" ){
                    mode = 3;
                    func_begin(lineNum, lineStr);
                }else{
                    continue;
                }
            }
            if( /^\d+ 個が検索されました。/.test(lineStr) ){
                func_end(lineNum);
                break;
            }else{
                func(lineNum, lineStr);
            }
        }
    };
    var max_path = 0;
    var regex_str1 = /^(([A-Z]:|\\\\|・)[^\?\*:]+\(\d+,\d+\)  \[\w+\]:)/;
    var regex_str2 = /^(([A-Z]:|\\\\|・)[^\?\*:]+\(\d+,\d+\):)/;
    grep_lines( function( lineNum, lineStr ){
            var regex;
            if( auto_detect ){
                regex = regex_str1;
            }else{
                regex = regex_str2;
            }
            var ret = regex.exec(lineStr);
            if( ret != null ){
                var tag = ret[0];
                var width = Editor.GetStrLayoutLength(tag);
                if( max_path < width ){
                    max_path = width;
                }
            }
        },
        function( lineNum, lineStr ){},
        function( lineNum ){}
    );
    var retStr = "";
    grep_lines( function( lineNum, lineStr ){
            var regex;
            if( auto_detect ){
                regex = regex_str1;
            }else{
                regex = regex_str2;
            }
            var ret = regex.exec(lineStr);
            if( ret != null ){
                var tag = ret[0];
                var buf = "";
                var sp_width = Editor.GetStrLayoutLength(" ");
                var i = Editor.GetStrLayoutLength(tag);
                for( ; i < max_path; i+=sp_width ){
                    buf += " ";
                }
                retStr += lineStr.substr(0, tag.length -1) + buf + lineStr.substr(tag.length -1);
            }else{
                retStr += lineStr;
            }
        },
        function( lineNum, lineStr ){},
        function( lineNum ){}
    );
    grep_lines( function( lineNum, lineStr ){},
        function( lineNum, lineStr ){ Editor.MoveCursor(lineNum, 1, 0); },
        function( lineNum ){
            Editor.MoveCursor(lineNum, 1, 1);
            Editor.InsText(retStr);
        }
    );
})();




    


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