1- #include " CodeFormat.h"
21#include " CodeFormatCLib.h"
2+ #include " CodeFormat.h"
33#include " Types.h"
44
5- #if defined(_WIN32)
6- #define EMMY_API __declspec (dllexport)
7- #elif defined(__GNUC__)
8- #define EMMY_API __attribute__ ((visibility(" default" )))
9- #else
10- #define EMMY_API
11- #endif
12-
13-
145extern " C" {
156
16- // 定义不透明指针结构
17- struct CodeFormatHandle {
18- CodeFormat* instance;
19- };
20-
21- // 创建 CodeFormat 实例
22- EMMY_API CodeFormatHandle* CreateCodeFormat () {
23- CodeFormatHandle* handle = new CodeFormatHandle ();
24- handle->instance = &CodeFormat::GetInstance ();
25- return handle;
26- }
27-
28- // 销毁 CodeFormat 实例
29- EMMY_API void DestroyCodeFormat (CodeFormatHandle* handle) {
30- delete handle;
31- }
32-
33- EMMY_API char *ReformatLuaCode (CodeFormatHandle* handle, const char *code, const char *uri) {
34- CodeFormat &codeFormat = *handle->instance ;
7+ EMMY_API char *ReformatLuaCode (const char *code, const char *uri) {
8+ CodeFormat &codeFormat = CodeFormat::GetInstance ();
359 auto result = codeFormat.Reformat (uri, code);
36- if (result.Type == ResultType::Ok) {
37- return result.Data ;
38- } else {
39- return nullptr ;
40- }
10+ return result;
4111}
4212
43- EMMY_API RangeFormatResult RangeFormatLuaCode (CodeFormatHandle* handle, const char *code, const char *uri, int startLine, int startCol, int endLine, int endCol) {
44- CodeFormat &codeFormat = *handle-> instance ;
13+ EMMY_API RangeFormatResult RangeFormatLuaCode (const char *code, const char *uri, int startLine, int startCol, int endLine, int endCol) {
14+ CodeFormat &codeFormat = CodeFormat::GetInstance () ;
4515 FormatRange range;
4616 range.StartLine = startLine;
4717 range.StartCol = startCol;
@@ -59,13 +29,13 @@ EMMY_API void FreeReformatResult(char *ptr) {
5929 delete[] ptr;
6030}
6131
62- EMMY_API void UpdateCodeStyle (CodeFormatHandle* handle, const char *workspaceUri, const char *configPath) {
63- CodeFormat &codeFormat = *handle-> instance ;
32+ EMMY_API void UpdateCodeStyle (const char *workspaceUri, const char *configPath) {
33+ CodeFormat &codeFormat = CodeFormat::GetInstance () ;
6434 codeFormat.UpdateCodeStyle (workspaceUri, configPath);
6535}
6636
67- EMMY_API void RemoveCodeStyle (CodeFormatHandle* handle, const char *workspaceUri) {
68- CodeFormat &codeFormat = *handle-> instance ;
37+ EMMY_API void RemoveCodeStyle (const char *workspaceUri) {
38+ CodeFormat &codeFormat = CodeFormat::GetInstance () ;
6939 codeFormat.RemoveCodeStyle (workspaceUri);
7040}
7141}
0 commit comments