diff --git a/src/main.cpp b/src/main.cpp index 99cd211..d53f123 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -53,24 +53,27 @@ int main() while (std::getline(std::cin, line)) { const auto line_nc{remove_colors(line)}; - // Don't color +++ and --- lines - if (line_nc.length() >= 2 - && (line_nc.length() < 3 - || (line_nc[2] != '+' && line_nc[2] != '-'))) + // Only look at lines starting with + or - + if (line_nc.length() >= 2 && (line_nc[0] == '+' || line_nc[0] == '-')) { - if (line_nc[1] == '+') + // Don't color +++ and --- lines + if (line_nc.length() < 3 + || (line_nc[2] != '+' && line_nc[2] != '-')) { - const auto pos{get_start_pos(line)}; - std::cout << line.substr(0, pos) << green << line.substr(pos) - << reset << '\n'; - continue; - } - if (line_nc[1] == '-') - { - const auto pos{get_start_pos(line)}; - std::cout << line.substr(0, pos) << red << line.substr(pos) - << reset << '\n'; - continue; + if (line_nc[1] == '+') + { + const auto pos{get_start_pos(line)}; + std::cout << line.substr(0, pos) << green + << line.substr(pos) << reset << '\n'; + continue; + } + if (line_nc[1] == '-') + { + const auto pos{get_start_pos(line)}; + std::cout << line.substr(0, pos) << red << line.substr(pos) + << reset << '\n'; + continue; + } } } std::cout << line << '\n';