From bf42a3fe559b53b62db9c6363efbec612804dbe7 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 21 Sep 2018 10:22:24 +0200 Subject: Add support for running zig tests --- backend/BackendUtils.cpp | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'backend/BackendUtils.cpp') diff --git a/backend/BackendUtils.cpp b/backend/BackendUtils.cpp index ac71b07..3c9dd71 100644 --- a/backend/BackendUtils.cpp +++ b/backend/BackendUtils.cpp @@ -27,28 +27,43 @@ namespace backend TINYDIR_STRING("c++") }; - sibs::Language BackendUtils::getFileLanguage(tinydir_file *file) + sibs::FileString BackendUtils::getFileExtension(const sibs::FileString &filepath) { - if(!file->is_reg) - return sibs::Language::NONE; + size_t indexOfDot = filepath.find_last_of('.'); + if(indexOfDot == sibs::FileString::npos) + return TINYDIR_STRING(""); + + indexOfDot += 1; + return filepath.substr(indexOfDot); + } + sibs::Language BackendUtils::getFileLanguage(const _tinydir_char_t *extension) + { for(const _tinydir_char_t *sourceFileExtension : cFileExtensions) { - if(_tinydir_strcmp(sourceFileExtension, file->extension) == 0) + if(_tinydir_strcmp(sourceFileExtension, extension) == 0) return sibs::Language::C; } for(const _tinydir_char_t *sourceFileExtension : cppFileExtensions) { - if(_tinydir_strcmp(sourceFileExtension, file->extension) == 0) + if(_tinydir_strcmp(sourceFileExtension, extension) == 0) return sibs::Language::CPP; } - if(_tinydir_strcmp(TINYDIR_STRING("zig"), file->extension) == 0) + if(_tinydir_strcmp(TINYDIR_STRING("zig"), extension) == 0) return sibs::Language::ZIG; return sibs::Language::NONE; } + + sibs::Language BackendUtils::getFileLanguage(tinydir_file *file) + { + if(!file->is_reg) + return sibs::Language::NONE; + + return getFileLanguage(file->extension); + } void BackendUtils::collectSourceFiles(const _tinydir_char_t *projectPath, Ninja *ninjaProject, const SibsConfig &sibsConfig, bool recursive) { -- cgit v1.2.3