shake863 发表于 2013-1-27 05:28:00

自己动手改写komodo sourcetree插件 对C/C++的支持

其实很简单了,
    找到sourcetree.js 的 正则判断那一块加上
case 'C++':
                   function_tag =/^\s*[\w<>\(\)_\s"\*]+\s+([\w:\*&>\[\]=<]+)\(.*[^;]+$|^\s*(main)\(|\s*(\w+::[\w~]+)\(.*[^;]+$/;
                    class_support = false;
                    break; 
对每一个匹配行做
line = parts;
//process line
re = /\r/g;
line = line.replace(re, "");
re = /\/\*.*\*\//g;
line = line.replace(re,"");
re = /\/\/.*$/g;
line = line.replace(re,"");
re = /\s+$/g;
line = line.replace(re,"");
if(line.match(/\s*if\s*\(/) || line.match(/\s*for\s*\(/) || line.match(/\s*while\s*\(/)|| line.match(/\s*switch\s*\(/))
    var found_function = false;
else
    var found_function = function_searcher.exec(line);
var found_class = false;




 处理。
 对C/C++的扩展
并且在之后的正则匹配的地方加上
switch(current_language){
                            case "SQL":
                                obj_name = found_function+" "+found_function+" "+found_function+" ";
                                break;
                            case "C++":
                                obj_name = found_function;
                                if(found_function)
                                {
                                    obj_name = found_function;
                                }else if(found_function)
                                {
                                    obj_name = found_function;
                                }
                                break;

                           default:
                                obj_name = found_function;
                        }


就ok了!!o(∩_∩)o...哈哈。
又可以用komodo写c++了。
页: [1]
查看完整版本: 自己动手改写komodo sourcetree插件 对C/C++的支持