mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-15 08:32:22 -07:00
extend rangification of meta evaluations to all child evaluations; further mark up schema expansion types
This commit is contained in:
@@ -327,9 +327,9 @@ RD_NameSchemaInfo rd_name_schema_info_table[17] =
|
||||
{str8_lit_comp("settings"), str8_lit_comp("x:\n{\n @default(1) 'hover_animations': bool,\n @default(1) 'press_animations': bool,\n @default(0) 'focus_animations': bool,\n @default(1) 'tooltip_animations': bool,\n @default(1) 'menu_animations': bool,\n @default(1) 'scrolling_animations': bool,\n @default(1) 'background_blur': bool,\n @default(1) 'thread_lines': bool,\n @default(1) 'breakpoint_lines': bool,\n @default(1) 'thread_glow': bool,\n @default(1) 'breakpoint_glow': bool,\n @default(0) 'opaque_backgrounds': bool,\n @default(1) 'smooth_main_text': bool,\n @default(0) 'smooth_code_text': bool,\n @default(1) 'hint_main_text': bool,\n @default(1) 'hint_code_text': bool,\n @default(2) 'tab_width': @range[1, 32] u64,\n @can_be_per_window 'main_font_size': @range[6, 72] u64,\n @can_be_per_window 'code_font_size': @range[1, 32] u64,\n}\n")},
|
||||
{str8_lit_comp("text"), str8_lit_comp("x:\n{\n 'lang':lang,\n 'size':code_string,\n @default(1) 'show_line_numbers':bool,\n}\n")},
|
||||
{str8_lit_comp("disasm"), str8_lit_comp("x:\n{\n 'arch': arch,\n 'syntax': dasm_syntax,\n 'size': code_string,\n @default(1) 'show_addresses': bool,\n @default(0) 'show_code_bytes': bool,\n @default(1) 'show_source_lines': bool,\n @default(1) 'show_symbol_names': bool,\n @default(1) 'show_line_numbers': bool,\n}\n")},
|
||||
{str8_lit_comp("memory"), str8_lit_comp("x:\n{\n 'size': code_string,\n @default(16) 'num_columns': @range[1, 64] u64,\n}\n")},
|
||||
{str8_lit_comp("bitmap"), str8_lit_comp("x:\n{\n @order(0) 'w': code_string,\n @order(1) 'h': code_string,\n 'fmt': tex2dformat,\n}\n")},
|
||||
{str8_lit_comp("geo3d"), str8_lit_comp("x:\n{\n 'count': code_string,\n 'vtx': code_string,\n 'vtx_size': code_string,\n 'yaw': f32,\n 'pitch': f32,\n 'zoom': f32,\n}\n")},
|
||||
{str8_lit_comp("memory"), str8_lit_comp("x:\n{\n 'size': code_string,\n @default(16) 'num_columns': @range[1, 256] u64,\n}\n")},
|
||||
{str8_lit_comp("bitmap"), str8_lit_comp("x:\n{\n @order(0) 'w': u64,\n @order(1) 'h': u64,\n 'fmt': tex2dformat,\n}\n")},
|
||||
{str8_lit_comp("geo3d"), str8_lit_comp("x:\n{\n 'count': code_string,\n 'vtx': code_string,\n 'vtx_size': code_string,\n 'yaw': @range[0, 1] f32,\n 'pitch': @range[-0.5, 0] f32,\n 'zoom': @range[0, 100] f32,\n}\n")},
|
||||
{str8_lit_comp("target"), str8_lit_comp("@commands(enable_cfg, launch_and_run, launch_and_step_into, remove_cfg)\n@collection_commands(add_target)\nx:\n{\n 'label': code_string,\n 'executable': path,\n 'arguments': string,\n 'working_directory': path,\n 'entry_point': code_string,\n 'stdout_path': path,\n 'stderr_path': path,\n 'stdin_path': path,\n 'environment': query,\n 'debug_subprocesses': bool,\n @no_expand @default(0) 'enabled': bool,\n}\n")},
|
||||
{str8_lit_comp("breakpoint"), str8_lit_comp("@commands(enable_cfg, remove_cfg)\n@collection_commands(toggle_breakpoint, add_breakpoint, add_address_breakpoint)\nx:\n{\n 'label': code_string,\n 'condition': code_string,\n 'source_location': path_pt,\n 'address_location': code_string,\n 'hit_count': u64,\n 'address_range_size': @or(0, 1, 2, 4, 8) u64,\n 'break_on_write': bool,\n 'break_on_read': bool,\n 'break_on_execute': bool,\n @no_expand @default(1) 'enabled': bool,\n}\n")},
|
||||
{str8_lit_comp("watch_pin"), str8_lit_comp("@commands(remove_cfg)\n@collection_commands(add_watch_pin)\nx:\n{\n 'expression': code_string,\n 'view_rule': code_string,\n 'source_location': path_pt,\n 'address_location': code_string,\n}\n")},
|
||||
|
||||
@@ -204,7 +204,7 @@ RD_VocabTable:
|
||||
x:
|
||||
{
|
||||
'size': code_string,
|
||||
@default(16) 'num_columns': @range[1, 64] u64,
|
||||
@default(16) 'num_columns': @range[1, 256] u64,
|
||||
}
|
||||
```
|
||||
}
|
||||
@@ -213,8 +213,8 @@ RD_VocabTable:
|
||||
```
|
||||
x:
|
||||
{
|
||||
@order(0) 'w': code_string,
|
||||
@order(1) 'h': code_string,
|
||||
@order(0) 'w': u64,
|
||||
@order(1) 'h': u64,
|
||||
'fmt': tex2dformat,
|
||||
}
|
||||
```
|
||||
@@ -227,9 +227,9 @@ RD_VocabTable:
|
||||
'count': code_string,
|
||||
'vtx': code_string,
|
||||
'vtx_size': code_string,
|
||||
'yaw': f32,
|
||||
'pitch': f32,
|
||||
'zoom': f32,
|
||||
'yaw': @range[0, 1] f32,
|
||||
'pitch': @range[-0.5, 0] f32,
|
||||
'zoom': @range[0, 100] f32,
|
||||
}
|
||||
```
|
||||
}
|
||||
|
||||
@@ -392,6 +392,26 @@ E_TYPE_ACCESS_FUNCTION_DEF(schema)
|
||||
child_type_key = e_string2typekey_map_lookup(rd_state->meta_name2type_map, child_schema->string);
|
||||
}
|
||||
|
||||
//- rjf: extend child type with ranges
|
||||
MD_Node *range = md_tag_from_string(child_schema->first, str8_lit("range"), 0);
|
||||
if(!md_node_is_nil(range))
|
||||
{
|
||||
Temp scratch = scratch_begin(&arena, 1);
|
||||
E_Expr *min_bound = e_parse_expr_from_text(scratch.arena, range->first->string).exprs.first;
|
||||
E_Expr *max_bound = e_parse_expr_from_text(scratch.arena, range->first->next->string).exprs.first;
|
||||
E_Expr *args[] =
|
||||
{
|
||||
min_bound,
|
||||
max_bound,
|
||||
};
|
||||
child_type_key = e_type_key_cons(.kind = E_TypeKind_Lens,
|
||||
.name = str8_lit("range1"),
|
||||
.direct_key = child_type_key,
|
||||
.count = 2,
|
||||
.args = args);
|
||||
scratch_end(scratch);
|
||||
}
|
||||
|
||||
//- rjf: evaluate
|
||||
E_Space child_eval_space = zero_struct;
|
||||
if(cfg != &rd_nil_cfg)
|
||||
|
||||
@@ -2180,10 +2180,10 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
{
|
||||
space_range = r1u64(0, 0x7FFFFFFFFFFFull);
|
||||
}
|
||||
U64 cursor = rd_view_cfg_value_from_string(str8_lit("cursor_vaddr")).u64;
|
||||
U64 mark = rd_view_cfg_value_from_string(str8_lit("mark_vaddr")).u64;
|
||||
U64 bytes_per_cell = rd_view_cfg_value_from_string(str8_lit("bytes_per_cell")).u64;
|
||||
U64 num_columns = rd_view_cfg_value_from_string(str8_lit("num_columns")).u64;
|
||||
U64 cursor = rd_view_cfg_u64_from_string(str8_lit("cursor_vaddr"));
|
||||
U64 mark = rd_view_cfg_u64_from_string(str8_lit("mark_vaddr"));
|
||||
U64 bytes_per_cell = rd_view_cfg_u64_from_string(str8_lit("bytes_per_cell"));
|
||||
U64 num_columns = rd_view_cfg_u64_from_string(str8_lit("num_columns"));
|
||||
if(num_columns == 0)
|
||||
{
|
||||
num_columns = 16;
|
||||
|
||||
Reference in New Issue
Block a user