| 82 | } |
| 83 | |
| 84 | std::string resetContentInDisableFormatBlocks(const std::string& original, const std::string& formatted) { |
| 85 | std::vector<std::pair<size_t, size_t>> originalBlocks = findBlocksBetweenFormatSwitch(original); |
| 86 | std::vector<std::pair<size_t, size_t>> formattedBlocks = findBlocksBetweenFormatSwitch(formatted); |
| 87 | if (originalBlocks.size() != formattedBlocks.size()) { |
| 88 | std::cerr << "Unexpected! originalBlocks.size() = " << originalBlocks.size() |
| 89 | << " , formattedBlocks.size() = " << formattedBlocks.size() << std::endl; |
| 90 | } |
| 91 | size_t sz = std::min(originalBlocks.size(), formattedBlocks.size()); |
| 92 | if (sz == 0) { |
| 93 | return formatted; |
| 94 | } |
| 95 | std::ostringstream os; |
| 96 | os << formatted.substr(0, formattedBlocks[0].first); |
| 97 | for (size_t i = 0; i < sz; i++) { |
| 98 | size_t startAt = originalBlocks[i].first; |
| 99 | size_t endAt = originalBlocks[i].second; |
| 100 | size_t nextFormttedBlockStartAt = formattedBlocks[i].second; |
| 101 | size_t nextFormttedBlockEndAt = formatted.size(); |
| 102 | if (i != sz - 1) { |
| 103 | nextFormttedBlockEndAt = formattedBlocks[i + 1].first; |
| 104 | } |
| 105 | os << original.substr(startAt, endAt - startAt); |
| 106 | os << formatted.substr(nextFormttedBlockStartAt, nextFormttedBlockEndAt - nextFormttedBlockStartAt); |
| 107 | } |
| 108 | return os.str(); |
| 109 | } |
| 110 | |
| 111 | std::string lua_format(std::istream& is, const Config& config) { |
| 112 | std::ostringstream os; |
no test coverage detected