其实很简单了,
找到sourcetree.js 的 正则判断那一块加上
case 'C++':
function_tag =/^\s*[\w<>\(\)_\s"\*]+\s+([\w:\*&>\[\]=<]+)\(.*[^;]+$|^\s*(main)\(|\s*(\w+::[\w~]+)\(.*[^;]+$/;
class_support = false;
break;
对每一个匹配行做
line = parts[current_line];
// 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[1]+" "+found_function[2]+" "+found_function[3]+" ";
break;
case "C++":
obj_name = found_function[1];
if(found_function[2])
{
obj_name = found_function[2];
}else if(found_function[3])
{
obj_name = found_function[3];
}
break;
default:
obj_name = found_function[1];
}
就ok了!!o(∩_∩)o...哈哈。
又可以用komodo写c++了。