aboutsummaryrefslogtreecommitdiff
path: root/backend/BackendUtils.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2018-09-21 10:22:24 +0200
committerdec05eba <dec05eba@protonmail.com>2020-07-06 07:39:33 +0200
commitbf42a3fe559b53b62db9c6363efbec612804dbe7 (patch)
tree9b499988832a053d7efc275e97f9803b2f5d6f5b /backend/BackendUtils.cpp
parent0415b7bef504b41b43672b3e153bbe260f2cc055 (diff)
Add support for running zig tests
Diffstat (limited to 'backend/BackendUtils.cpp')
-rw-r--r--backend/BackendUtils.cpp27
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)
{