#include "parser.hpp" #include #include #include #include namespace fs = std::filesystem; std::vector> get_entries(std::string path) { std::vector> entries; #if defined(GEKKO) DIR* dir = opendir(path.c_str()); if(dir == NULL) { return entries; } struct dirent* entry; entry = readdir(dir); while(entry != NULL) { entries.push_back({entry->d_name,entry->d_type == DT_DIR}); entry = readdir(dir); } closedir(dir); #else for (const auto & entry : fs::directory_iterator(path)) entries.push_back({entry.path().filename().c_str(),entry.is_directory()}); #endif return entries; } std::vector get_files(std::string path) { std::vector files; for(auto f : get_entries(path)) { if(f.first!="." && f.first != ".." && !f.second ) { files.push_back(f.first); } } return files; } std::vector get_directories(std::string path) { std::vector files; for(auto f : get_entries(path)) { if(f.first!="." && f.first != ".." && f.second ) { files.push_back(f.first); } } return files; }