读取vim文档中的代码段

std::vector<std::string> FileUtil::readFileLines(std::string& file, char delim){
    std::ifstream ss(file);
    std::string item;
    std::vector<std::string> elems;
    while (std::getline(ss, item, delim)) {
        if (!item.empty()) {
            elems.push_back(item);
        }
    }
    return elems;
}

std::vector<std::string> FileUtil::vimdoc(std::string& file_name){
   auto lines = readFileLines(file_name, '\n');
   bool is_in_doc = false;
   std::vector<std::string>  codes;
   std::string code;
   int i = 0;
   for(auto line:lines){
    i++; // debug used

    int len = line.size();
    if(is_in_doc && len > 0 && (line[0] !=' ' || line[0] == '\t') ){
        is_in_doc = false;
        if(code.size()>0){
           codes.push_back(code);
           code = "";
        }
    }
    if(is_in_doc){
        code.append("\n");
        code.append(line);
    }
    if(len == 1 && line[0] =='>' || len >2 && line[len -1] == '>' && line[len -2] ==' ' ){
        is_in_doc = true;
    }
   }
    if(code.size()>0){
       codes.push_back(code);
    }
    return codes;
}
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!