| 25 | } |
| 26 | |
| 27 | std::string lowercase_extension(const std::filesystem::path & path) { |
| 28 | std::string ext = path.extension().string(); |
| 29 | std::transform(ext.begin(), ext.end(), ext.begin(), [](unsigned char ch) { |
| 30 | return static_cast<char>(std::tolower(ch)); |
| 31 | }); |
| 32 | return ext; |
| 33 | } |
| 34 | |
| 35 | std::string read_text_file(const std::filesystem::path & path) { |
| 36 | std::ifstream input(path); |
no test coverage detected