string16 improvements

This commit is contained in:
Krzosa Karol
2025-04-04 08:25:47 +02:00
parent f6d5a1cf81
commit f3aa52ba3d
34 changed files with 637 additions and 699 deletions

View File

@@ -2,8 +2,8 @@
gb f32 font_size = 30;
gb f32 _font_size = 30;
gb_read_only mt_tweak_t tweak_table[] = {
{type(f32), s8_const_lit("font_size"), &font_size, 4, 200},
{type(f32), s8_const_lit("_font_size"), &_font_size, 30, 30},
{type(f32), s8_const("font_size"), &font_size, 4, 200},
{type(f32), s8_const("_font_size"), &_font_size, 30, 30},
};
void run_all_tests(void) {

View File

@@ -1,7 +1,7 @@
void generate_text_editor_code(ma_arena_t *arena) {
sb8_t *include_paths = sb8(arena);
sb8_append(include_paths, OS_GetAbsolutePath(&Perm, s8_lit("../src")));
mt_files_t files = mt_lex_files(arena, s8_lit("../src/text_editor/text_editor_main.c"), include_paths);
sb8_append(include_paths, OS_GetAbsolutePath(&Perm, s8("../src")));
mt_files_t files = mt_lex_files(arena, s8("../src/text_editor/text_editor_main.c"), include_paths);
typedef struct cg_tweak_t cg_tweak_t;
struct cg_tweak_t {
@@ -24,14 +24,14 @@ void generate_text_editor_code(ma_arena_t *arena) {
for (;par->at->kind != lex_kind_eof;) {
b32 matched = false;
if (par->at->inside_macro == false && parser_matchi(par, s8_lit("fn_test"))) {
parser_expecti(par, s8_lit("void"));
if (par->at->inside_macro == false && parser_matchi(par, s8("fn_test"))) {
parser_expecti(par, s8("void"));
lex_t *ident = parser_match(par, lex_kind_ident);
sb8_append(tests, ident->string);
matched = true;
}
if (par->at->inside_macro == false && parser_matchi(par, s8_lit("mt_embed_file"))) {
if (par->at->inside_macro == false && parser_matchi(par, s8("mt_embed_file"))) {
parser_expect(par, lex_kind_open_paren);
lex_t *var_name = parser_expect(par, lex_kind_ident);
parser_expect(par, lex_kind_comma);
@@ -46,10 +46,10 @@ void generate_text_editor_code(ma_arena_t *arena) {
matched = true;
}
if (par->at->inside_macro == false && parser_matchi(par, s8_lit("mt_tweak_b32"))) {
if (par->at->inside_macro == false && parser_matchi(par, s8("mt_tweak_b32"))) {
cg_tweak_t *tweak = ma_push_type(arena, cg_tweak_t);
tweak->type = type(b32);
tweak->min = tweak->max = s8_lit("0");
tweak->min = tweak->max = s8("0");
parser_expect(par, lex_kind_open_paren);
tweak->name = parser_expect(par, lex_kind_ident)->string;
parser_expect(par, lex_kind_comma);
@@ -59,7 +59,7 @@ void generate_text_editor_code(ma_arena_t *arena) {
matched = true;
}
if (par->at->inside_macro == false && parser_matchi(par, s8_lit("mt_tweak_f32"))) {
if (par->at->inside_macro == false && parser_matchi(par, s8("mt_tweak_f32"))) {
cg_tweak_t *tweak = ma_push_type(arena, cg_tweak_t);
tweak->type = type(f32);
parser_expect(par, lex_kind_open_paren);
@@ -75,11 +75,11 @@ void generate_text_editor_code(ma_arena_t *arena) {
matched = true;
}
if (par->at->inside_macro == false && parser_matchi(par, s8_lit("mt_tweak_color"))) {
if (par->at->inside_macro == false && parser_matchi(par, s8("mt_tweak_color"))) {
cg_tweak_t *tweak = ma_push_type(arena, cg_tweak_t);
tweak->type = type(v4f32_t);
tweak->min = s8_lit("0.0f");
tweak->max = s8_lit("1.0f");
tweak->min = s8("0.0f");
tweak->max = s8("1.0f");
parser_expect(par, lex_kind_open_paren);
tweak->name = parser_expect(par, lex_kind_ident)->string;
parser_expect(par, lex_kind_comma);
@@ -105,7 +105,7 @@ void generate_text_editor_code(ma_arena_t *arena) {
}
sb8_printf(sb_embeds, "gb_read_only mt_tweak_t tweak_table[] = {\n");
for (cg_tweak_t *it = first_tweak; it; it = it->next) {
sb8_printf(sb_embeds, " {type(%S), s8_const_lit(\"%S\"), &%S, %S, %S},\n", it->type->name, it->name, it->name, it->min, it->max);
sb8_printf(sb_embeds, " {type(%S), s8_const(\"%S\"), &%S, %S, %S},\n", it->type->name, it->name, it->name, it->min, it->max);
}
sb8_printf(sb_embeds, "\n};\n");
}