分享

ultraEdit 注释插件

 戴维图书馆 2013-03-06

ultraEdit 注释插件

ifree posted @ 2 years ago in softs with tags javascript plugin ultraedit , 883 readers

不要跟我说vim,不要跟我说linux,我也是被逼的

直接上代码:(ue还不内部脚本还不支持activeX对象,所以好多功能都没法实现...所以我一直都用vim )

 

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
//file: auth.js
//desc: pig
//author: ifree
//last modified date: Monday, December 19, 2010 21:54:55
(
function(ue){
    var currentDoc=ue.activeDocument;
    var debug=ue.outputWindow;
    function getFileName(){
         var path=currentDoc.path;  
         return path.substring(path.lastIndexOf("\\")+1,path.length);
    }
    function getDate(){
        return new Date().toLocaleString(); 
    }
    function desc(obj){
        for(var i in obj){
            debug.write("{"+i+":"+obj[i]+"}\r\n");  
        }
    }
    //render whole or single template
    function templateHandler(){
        var template=[];
        template["file"]="//file: {getFileName()}";
        template["desc"]="//desc: {desc}";
        template["author"]="//author: {author}";
        template["last modified date"]="//last modified date: {getDate()}";
          
        var reg=/{(.+)}/;
        function renderSelf(key,value){
                if(!key)return;
                var str=template[key];
                if(!str)return;
                reg.exec(str);
                  
                if(RegExp.$1.indexOf('(')>=0){
                    str=str.replace(reg,eval(RegExp.$1));
                }else
                    str=str.replace(reg,value);
                return str;
        }
          
        return {
                render:function(obj){
                        var ret="";
                        for(var i in template){
                                ret+=renderSelf(i,obj[i]?obj[i]:'')+"\r\n";
                        }
                        return ret;
                },
                renderSingle:function(k,v){
                    return renderSelf(k,v); 
                }
        }
    }
    //get output
    return function(cfg){
        currentDoc.write("{"+"cursor"+"}");
          
          
        var reg=/\/\/([\w\s]+):(\s?.+)/;
        currentDoc.gotoLine(5);
        currentDoc.selectToTop();
          
        var texts=currentDoc.selection.split("\r\n");
        //detect if comment has added
    if(reg.test(texts[0])){
          
        for(var i=0,il=texts.length;i<il;i++){
                if(reg.test(texts[i])){
                        texts[i]=templateHandler().renderSingle(RegExp.$1.trim(),RegExp.$2.trim());
                }
        }
        currentDoc.deleteText();
        currentDoc.write(texts.join('\r\n'));
    }else{
        currentDoc.selectAll();
        currentDoc.write(templateHandler().render(cfg)+currentDoc.selection);
    }
  
    //set cursor to orign posi
    currentDoc.top();
    currentDoc.findReplace.find("{"+"cursor"+"}");
    currentDoc.deleteText();
    }
}
)(UltraEdit)({author:"ifree"});

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多