Skip to content

Commit

Permalink
add codestyle check for lib
Browse files Browse the repository at this point in the history
  • Loading branch information
CppCXY committed Feb 4, 2025
1 parent 1b5879c commit 288772a
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
2 changes: 2 additions & 0 deletions CodeFormatCLib/include/CodeFormatCLib.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ EMMY_API void FreeReformatResult(char *ptr);
EMMY_API void UpdateCodeStyle(const char *workspaceUri, const char *configPath);

EMMY_API void RemoveCodeStyle(const char *workspaceUri);

EMMY_API char* CheckCodeStyle(const char *code, const char *uri);
}


Expand Down
28 changes: 28 additions & 0 deletions CodeFormatCLib/src/CodeFormatCLib.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,32 @@ EMMY_API void RemoveCodeStyle(const char *workspaceUri) {
CodeFormat &codeFormat = CodeFormat::GetInstance();
codeFormat.RemoveCodeStyle(workspaceUri);
}

EMMY_API char *CheckCodeStyle(const char *code, const char *uri) {
CodeFormat &codeFormat = CodeFormat::GetInstance();
auto result = codeFormat.Diagnostic(uri, code);
if (result.Type != ResultType::Ok) {
return nullptr;
}
auto diagnostic_results = std::move(result.Data);
std::string result_str;
auto total_size = 0;
for (auto &diagnostic: diagnostic_results) {
total_size += diagnostic.Message.size();
}
result_str.reserve(total_size * 2);

for (auto &diagnostic: diagnostic_results) {
result_str.append(std::to_string(diagnostic.Start.Line)).append("|");
result_str.append(std::to_string(diagnostic.Start.Col)).append("|");
result_str.append(std::to_string(diagnostic.End.Line)).append("|");
result_str.append(std::to_string(diagnostic.End.Col)).append("|");
result_str.append(diagnostic.Message);
result_str.append("\n");
}
auto ptr = new char[result_str.size() + 1];
std::copy(result_str.begin(), result_str.end(), ptr);
ptr[result_str.size()] = '\0';
return ptr;
}
}

0 comments on commit 288772a

Please sign in to comment.