Files
first/core_library/core.c
2024-01-13 08:18:39 +01:00

40 lines
1.6 KiB
C

/*
@todo
- Rewrite OS_ListDir, no weird flags and conventions, [relative, absolute, is_dir]
- add c++ default args using macros
- Rework string flags
- String should use allocator instead of arena?
- Maybe remove completely null termination from S8_String, I think it might complicate and is error prone because one can sometimes assume it's null terminated and it isn't
- Maybe create a nice C++ binding for strings,
- also add String Arrays and String Builder, temp allocators hook ins for nicer api
- Iterating over unicode codepoints using For
- Redesign clexer because the Arena Tuple is hella weird
- Maybe remove token array stuff, do standard stream thing, then you need one arena ...
- Add filter stuff so we can get includes / comments / normal tokens etc.
*/
#include "core.h"
#define STB_SPRINTF_IMPLEMENTATION
#include "../standalone_libraries/stb_sprintf.h"
#define IO_VSNPRINTF stbsp_vsnprintf
#define IO_SNPRINTF stbsp_snprintf
#include "../standalone_libraries/io.c"
#define MA_ASSERT(x) IO_Assert(x)
#include "../standalone_libraries/arena.c"
#define RE_ASSERT(x) IO_Assert(x)
#include "../standalone_libraries/regex.c"
#include "../standalone_libraries/unicode.c"
#define S8_VSNPRINTF stbsp_vsnprintf
#define S8_ALLOCATE(allocator, size) MA_PushSize(allocator, size)
#define S8_ASSERT(x) IO_Assert(x)
#define S8_MemoryCopy MA_MemoryCopy
#include "../standalone_libraries/string.c"
#define MU_ASSERT IO_Assert
#include "../standalone_libraries/multimedia.h"
#include "../standalone_libraries/hash.c"
#include "../standalone_libraries/load_library.c"
#include "filesystem.c"
// #if LANG_CPP
// #include "string.cpp"
// #endif