diff options
author | dec05eba <dec05eba@protonmail.com> | 2018-09-21 10:22:24 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-07-06 07:39:33 +0200 |
commit | bf42a3fe559b53b62db9c6363efbec612804dbe7 (patch) | |
tree | 9b499988832a053d7efc275e97f9803b2f5d6f5b /backend/BackendUtils.cpp | |
parent | 0415b7bef504b41b43672b3e153bbe260f2cc055 (diff) |
Add support for running zig tests
Diffstat (limited to 'backend/BackendUtils.cpp')
-rw-r--r-- | backend/BackendUtils.cpp | 27 |
1 files changed, 21 insertions, 6 deletions
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) { |