src/heatmap.cpp

changeset 16
730a5638c4ad
parent 10
bf159cf9f4b6
child 44
de22ded6d50a
equal deleted inserted replaced
15:ef0f2497843e 16:730a5638c4ad
28 #include <ranges> 28 #include <ranges>
29 #include <chrono> 29 #include <chrono>
30 30
31 namespace chrono = std::chrono; 31 namespace chrono = std::chrono;
32 32
33 void fm::heatmap::add(const std::string &log) { 33 void fm::heatmap::add(const fm::settings &settings, const std::string &log) {
34 using std::string_view_literals::operator ""sv; 34 using std::string_view_literals::operator ""sv;
35 35
36 for (auto &&line: std::views::split(log, "\n"sv)) { 36 for (auto &&line: std::views::split(log, "\n"sv)) {
37 if (line.empty()) continue; 37 if (line.empty()) continue;
38 auto parts = std::views::split(line, "#"sv).begin(); 38 auto parts = std::views::split(line, "#"sv).begin();
39 std::string author{(*parts).begin(), (*parts).end()}; 39 std::string author{settings.map_author({(*parts).begin(), (*parts).end()})};
40 40
41 int year = 0; 41 int year = 0;
42 unsigned int month = 0, day = 0; 42 unsigned int month = 0, day = 0;
43 auto date_parts = std::views::split(*++parts, "-"sv) 43 auto date_parts = std::views::split(*++parts, "-"sv)
44 | std::views::transform([](auto r) { return std::string_view(r); }) 44 | std::views::transform([](auto r) { return std::string_view(r); })

mercurial