自己动手改写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[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++了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值