Init new repository
This commit is contained in:
37
src/build_file/test_readme.cpp
Normal file
37
src/build_file/test_readme.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
void ReadmeReadFile(LC_AST *package, LoadedFile *file) {
|
||||
S8_String result = {};
|
||||
if (package->apackage.name == LC_ILit("readme_test")) {
|
||||
S8_String code = *(S8_String *)L->user_data;
|
||||
file->content = S8_Copy(L->arena, code);
|
||||
} else {
|
||||
file->content = OS_ReadFile(L->arena, file->path);
|
||||
}
|
||||
}
|
||||
|
||||
void TestReadme() {
|
||||
MA_Scratch scratch;
|
||||
|
||||
S8_String readme_path = OS_GetAbsolutePath(scratch, "../README.md");
|
||||
S8_String readme = OS_ReadFile(scratch, readme_path);
|
||||
S8_List split = S8_Split(scratch, readme, "```");
|
||||
S8_For(it, split) {
|
||||
if (S8_StartsWith(it->string, " odin", S8_IgnoreCase)) {
|
||||
S8_String code = S8_Skip(it->string, 5);
|
||||
|
||||
LC_Lang *lang = LC_LangAlloc();
|
||||
lang->use_colored_terminal_output = UseColoredIO;
|
||||
lang->user_data = (void *)&code;
|
||||
lang->on_file_load = ReadmeReadFile;
|
||||
LC_LangBegin(lang);
|
||||
LC_DeclareNote(LC_ILit("do_something"));
|
||||
LC_DeclareNote(LC_ILit("serialize"));
|
||||
defer { LC_LangEnd(lang); };
|
||||
|
||||
LC_RegisterPackageDir("../pkgs");
|
||||
LC_Intern name = LC_ILit("readme_test");
|
||||
LC_AddSingleFilePackage(name, readme_path);
|
||||
LC_ResolvePackageByName(name);
|
||||
// LC_FindUnusedLocalsAndRemoveUnusedGlobalDecls();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user