mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-04 04:48:40 +00:00
stdout/stderr/stdin file path overrides for targets
This commit is contained in:
@@ -36,7 +36,7 @@ RD_CmdKind_Null,
|
||||
RD_CmdKind_Null,
|
||||
};
|
||||
|
||||
String8 d_entity_kind_display_string_table[31] =
|
||||
String8 d_entity_kind_display_string_table[34] =
|
||||
{
|
||||
str8_lit_comp("Nil"),
|
||||
str8_lit_comp("Root"),
|
||||
@@ -55,6 +55,9 @@ str8_lit_comp("Executable"),
|
||||
str8_lit_comp("Arguments"),
|
||||
str8_lit_comp("Working Directory"),
|
||||
str8_lit_comp("Entry Point"),
|
||||
str8_lit_comp("Standard Output Path"),
|
||||
str8_lit_comp("Standard Error Path"),
|
||||
str8_lit_comp("Standard Input Path"),
|
||||
str8_lit_comp("Window"),
|
||||
str8_lit_comp("Panel"),
|
||||
str8_lit_comp("View"),
|
||||
@@ -71,7 +74,7 @@ str8_lit_comp("Conversion Task"),
|
||||
str8_lit_comp("Conversion Failure"),
|
||||
};
|
||||
|
||||
String8 d_entity_kind_name_lower_table[31] =
|
||||
String8 d_entity_kind_name_lower_table[34] =
|
||||
{
|
||||
str8_lit_comp("nil"),
|
||||
str8_lit_comp("root"),
|
||||
@@ -90,6 +93,9 @@ str8_lit_comp("executable"),
|
||||
str8_lit_comp("arguments"),
|
||||
str8_lit_comp("working_directory"),
|
||||
str8_lit_comp("entry_point"),
|
||||
str8_lit_comp("stdout_path"),
|
||||
str8_lit_comp("stderr_path"),
|
||||
str8_lit_comp("stdin_path"),
|
||||
str8_lit_comp("window"),
|
||||
str8_lit_comp("panel"),
|
||||
str8_lit_comp("view"),
|
||||
@@ -106,7 +112,7 @@ str8_lit_comp("conversion_task"),
|
||||
str8_lit_comp("conversion_fail"),
|
||||
};
|
||||
|
||||
String8 d_entity_kind_name_lower_plural_table[31] =
|
||||
String8 d_entity_kind_name_lower_plural_table[34] =
|
||||
{
|
||||
str8_lit_comp("nils"),
|
||||
str8_lit_comp("roots"),
|
||||
@@ -125,6 +131,9 @@ str8_lit_comp("executables"),
|
||||
str8_lit_comp("argumentses"),
|
||||
str8_lit_comp("working_directories"),
|
||||
str8_lit_comp("entry_points"),
|
||||
str8_lit_comp("stdout_paths"),
|
||||
str8_lit_comp("stderr_paths"),
|
||||
str8_lit_comp("stdin_paths"),
|
||||
str8_lit_comp("windows"),
|
||||
str8_lit_comp("panels"),
|
||||
str8_lit_comp("views"),
|
||||
@@ -141,7 +150,7 @@ str8_lit_comp("conversion_tasks"),
|
||||
str8_lit_comp("conversion_fails"),
|
||||
};
|
||||
|
||||
String8 d_entity_kind_name_label_table[31] =
|
||||
String8 d_entity_kind_name_label_table[34] =
|
||||
{
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
@@ -158,8 +167,11 @@ str8_lit_comp("Location"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Executable"),
|
||||
str8_lit_comp("Arguments"),
|
||||
str8_lit_comp("Execution Path"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Symbol Name"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
@@ -176,7 +188,7 @@ str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
};
|
||||
|
||||
RD_EntityKindFlags rd_entity_kind_flags_table[31] =
|
||||
RD_EntityKindFlags rd_entity_kind_flags_table[34] =
|
||||
{
|
||||
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (0*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (0*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
@@ -195,6 +207,9 @@ RD_EntityKindFlags rd_entity_kind_flags_table[31] =
|
||||
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (1*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (1*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (1*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (1*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (1*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (1*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (1*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (1*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (0*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (1*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (1*RD_EntityKindFlag_UserDefinedLifetime) | (1*RD_EntityKindFlag_IsSerializedToConfig),
|
||||
@@ -870,7 +885,7 @@ RD_ViewRuleInfo rd_view_rule_kind_info_table[35] =
|
||||
{str8_lit_comp("geo3d"), str8_lit_comp("Visualizes memory as 3D geometry."), str8_lit_comp("Geometry (3D)"), str8_lit_comp("x:{'count':expr, 'vtx':expr, 'vtx_size':expr}"), RD_IconKind_Binoculars, (RD_ViewRuleInfoFlag_ShowInDocs*1|RD_ViewRuleInfoFlag_CanFilter*0|RD_ViewRuleInfoFlag_FilterIsCode*0|RD_ViewRuleInfoFlag_TypingAutomaticallyFilters*0|RD_ViewRuleInfoFlag_CanUseInWatchTable*1|RD_ViewRuleInfoFlag_CanFillValueCell*0|RD_ViewRuleInfoFlag_CanExpand*1), EV_VIEW_RULE_EXPR_EXPAND_INFO_FUNCTION_NAME(geo3d) , RD_VIEW_RULE_UI_FUNCTION_NAME(geo3d)},
|
||||
};
|
||||
|
||||
RD_IconKind rd_entity_kind_icon_kind_table[31] =
|
||||
RD_IconKind rd_entity_kind_icon_kind_table[34] =
|
||||
{
|
||||
RD_IconKind_Null,
|
||||
RD_IconKind_Null,
|
||||
@@ -889,6 +904,9 @@ RD_IconKind_Null,
|
||||
RD_IconKind_Null,
|
||||
RD_IconKind_Null,
|
||||
RD_IconKind_Null,
|
||||
RD_IconKind_Null,
|
||||
RD_IconKind_Null,
|
||||
RD_IconKind_Null,
|
||||
RD_IconKind_Window,
|
||||
RD_IconKind_XSplit,
|
||||
RD_IconKind_Null,
|
||||
|
||||
@@ -34,6 +34,9 @@ RD_EntityKind_Executable,
|
||||
RD_EntityKind_Arguments,
|
||||
RD_EntityKind_WorkingDirectory,
|
||||
RD_EntityKind_EntryPoint,
|
||||
RD_EntityKind_StdoutPath,
|
||||
RD_EntityKind_StderrPath,
|
||||
RD_EntityKind_StdinPath,
|
||||
RD_EntityKind_Window,
|
||||
RD_EntityKind_Panel,
|
||||
RD_EntityKind_View,
|
||||
@@ -763,11 +766,11 @@ extern String8 rd_cfg_src_string_table[4];
|
||||
extern RD_CmdKind rd_cfg_src_load_cmd_kind_table[4];
|
||||
extern RD_CmdKind rd_cfg_src_write_cmd_kind_table[4];
|
||||
extern RD_CmdKind rd_cfg_src_apply_cmd_kind_table[4];
|
||||
extern String8 d_entity_kind_display_string_table[31];
|
||||
extern String8 d_entity_kind_name_lower_table[31];
|
||||
extern String8 d_entity_kind_name_lower_plural_table[31];
|
||||
extern String8 d_entity_kind_name_label_table[31];
|
||||
extern RD_EntityKindFlags rd_entity_kind_flags_table[31];
|
||||
extern String8 d_entity_kind_display_string_table[34];
|
||||
extern String8 d_entity_kind_name_lower_table[34];
|
||||
extern String8 d_entity_kind_name_lower_plural_table[34];
|
||||
extern String8 d_entity_kind_name_label_table[34];
|
||||
extern RD_EntityKindFlags rd_entity_kind_flags_table[34];
|
||||
extern Rng1U64 rd_reg_slot_range_table[34];
|
||||
extern RD_StringBindingPair rd_default_binding_table[110];
|
||||
extern String8 rd_binding_version_remap_old_name_table[8];
|
||||
@@ -781,7 +784,7 @@ extern EV_ViewRuleExprExpandRangeInfoHookFunctionType * rd_collection_expr_expan
|
||||
extern EV_ViewRuleExprExpandIDFromNumHookFunctionType * rd_collection_expr_expand_id_from_num_hook_function_table[18];
|
||||
extern EV_ViewRuleExprExpandIDFromNumHookFunctionType * rd_collection_expr_expand_num_from_id_hook_function_table[18];
|
||||
extern RD_ViewRuleInfo rd_view_rule_kind_info_table[35];
|
||||
extern RD_IconKind rd_entity_kind_icon_kind_table[31];
|
||||
extern RD_IconKind rd_entity_kind_icon_kind_table[34];
|
||||
extern String8 rd_theme_preset_display_string_table[9];
|
||||
extern String8 rd_theme_preset_code_string_table[9];
|
||||
extern String8 rd_theme_color_version_remap_old_name_table[22];
|
||||
|
||||
@@ -93,8 +93,11 @@ RD_EntityKindTable:
|
||||
{Target target targets 1 0 1 1 1 0 1 0 0 1 1 "Label" Target "Target" }
|
||||
{Executable executable executables 0 0 0 0 0 0 0 0 1 1 0 "Executable" Null "Executable" }
|
||||
{Arguments arguments argumentses 0 0 0 0 0 0 0 0 0 1 0 "Arguments" Null "Arguments" }
|
||||
{WorkingDirectory working_directory working_directories 0 0 0 0 0 0 0 0 1 1 0 "Execution Path" Null "Working Directory" }
|
||||
{WorkingDirectory working_directory working_directories 0 0 0 0 0 0 0 0 1 1 0 "Path" Null "Working Directory" }
|
||||
{EntryPoint entry_point entry_points 0 0 0 0 0 0 0 0 0 1 0 "Symbol Name" Null "Entry Point" }
|
||||
{StdoutPath stdout_path stdout_paths 0 0 0 0 0 0 0 0 1 1 0 "Path" Null "Standard Output Path" }
|
||||
{StderrPath stderr_path stderr_paths 0 0 0 0 0 0 0 0 1 1 0 "Path" Null "Standard Error Path" }
|
||||
{StdinPath stdin_path stdin_paths 0 0 0 0 0 0 0 0 1 1 0 "Path" Null "Standard Input Path" }
|
||||
|
||||
//- rjf: frontend containers (windows, panels, views)
|
||||
{Window window windows 1 0 0 0 0 0 1 0 0 1 1 "Label" Window "Window" }
|
||||
|
||||
@@ -1895,12 +1895,18 @@ rd_d_target_from_entity(RD_Entity *entity)
|
||||
RD_Entity *src_target_exe = rd_entity_child_from_kind(entity, RD_EntityKind_Executable);
|
||||
RD_Entity *src_target_args = rd_entity_child_from_kind(entity, RD_EntityKind_Arguments);
|
||||
RD_Entity *src_target_wdir = rd_entity_child_from_kind(entity, RD_EntityKind_WorkingDirectory);
|
||||
RD_Entity *src_target_stdo = rd_entity_child_from_kind(entity, RD_EntityKind_StdoutPath);
|
||||
RD_Entity *src_target_stde = rd_entity_child_from_kind(entity, RD_EntityKind_StderrPath);
|
||||
RD_Entity *src_target_stdi = rd_entity_child_from_kind(entity, RD_EntityKind_StdinPath);
|
||||
RD_Entity *src_target_entry = rd_entity_child_from_kind(entity, RD_EntityKind_EntryPoint);
|
||||
D_Target target = {0};
|
||||
target.exe = src_target_exe->string;
|
||||
target.args = src_target_args->string;
|
||||
target.working_directory = src_target_wdir->string;
|
||||
target.custom_entry_point_name = src_target_entry->string;
|
||||
target.stdout_path = src_target_stdo->string;
|
||||
target.stderr_path = src_target_stde->string;
|
||||
target.stdin_path = src_target_stdi->string;
|
||||
return target;
|
||||
}
|
||||
|
||||
@@ -2301,6 +2307,9 @@ rd_ctrl_meta_eval_from_entity(Arena *arena, RD_Entity *entity)
|
||||
RD_Entity *args= rd_entity_child_from_kind(entity, RD_EntityKind_Arguments);
|
||||
RD_Entity *wdir= rd_entity_child_from_kind(entity, RD_EntityKind_WorkingDirectory);
|
||||
RD_Entity *entr= rd_entity_child_from_kind(entity, RD_EntityKind_EntryPoint);
|
||||
RD_Entity *stdo= rd_entity_child_from_kind(entity, RD_EntityKind_StdoutPath);
|
||||
RD_Entity *stde= rd_entity_child_from_kind(entity, RD_EntityKind_StderrPath);
|
||||
RD_Entity *stdi= rd_entity_child_from_kind(entity, RD_EntityKind_StdinPath);
|
||||
RD_Entity *loc = rd_entity_child_from_kind(entity, RD_EntityKind_Location);
|
||||
RD_Entity *cnd = rd_entity_child_from_kind(entity, RD_EntityKind_Condition);
|
||||
RD_Entity *src = rd_entity_child_from_kind(entity, RD_EntityKind_Source);
|
||||
@@ -2330,6 +2339,9 @@ rd_ctrl_meta_eval_from_entity(Arena *arena, RD_Entity *entity)
|
||||
meval->args = args->string;
|
||||
meval->working_directory = wdir->string;
|
||||
meval->entry_point = entr->string;
|
||||
meval->stdout_path = stdo->string;
|
||||
meval->stderr_path = stde->string;
|
||||
meval->stdin_path = stdi->string;
|
||||
meval->source_location = src_loc_string;
|
||||
meval->address_location = vaddr_loc_string;
|
||||
meval->function_location = function_loc_string;
|
||||
@@ -2600,6 +2612,9 @@ rd_eval_space_write(void *u, E_Space space, void *in, Rng1U64 range)
|
||||
StringMemberCase(args) {result = 1; rd_entity_equip_name(rd_entity_child_from_kind_or_alloc(entity, RD_EntityKind_Arguments), str8_cstring_capped(in, (U8 *)in + 4096));}
|
||||
StringMemberCase(working_directory) {result = 1; rd_entity_equip_name(rd_entity_child_from_kind_or_alloc(entity, RD_EntityKind_WorkingDirectory), str8_cstring_capped(in, (U8 *)in + 4096));}
|
||||
StringMemberCase(entry_point) {result = 1; rd_entity_equip_name(rd_entity_child_from_kind_or_alloc(entity, RD_EntityKind_EntryPoint), str8_cstring_capped(in, (U8 *)in + 4096));}
|
||||
StringMemberCase(stdout_path) {result = 1; rd_entity_equip_name(rd_entity_child_from_kind_or_alloc(entity, RD_EntityKind_StdoutPath), str8_cstring_capped(in, (U8 *)in + 4096));}
|
||||
StringMemberCase(stderr_path) {result = 1; rd_entity_equip_name(rd_entity_child_from_kind_or_alloc(entity, RD_EntityKind_StderrPath), str8_cstring_capped(in, (U8 *)in + 4096));}
|
||||
StringMemberCase(stdin_path) {result = 1; rd_entity_equip_name(rd_entity_child_from_kind_or_alloc(entity, RD_EntityKind_StdinPath), str8_cstring_capped(in, (U8 *)in + 4096));}
|
||||
StringMemberCase(source_path) {result = 1; rd_entity_equip_name(rd_entity_child_from_kind_or_alloc(entity, RD_EntityKind_Source), str8_cstring_capped(in, (U8 *)in + 4096));}
|
||||
StringMemberCase(destination_path) {result = 1; rd_entity_equip_name(rd_entity_child_from_kind_or_alloc(entity, RD_EntityKind_Dest), str8_cstring_capped(in, (U8 *)in + 4096));}
|
||||
StringMemberCase(type) {result = 1; rd_entity_equip_name(rd_entity_child_from_kind_or_alloc(entity, RD_EntityKind_Source), str8_cstring_capped(in, (U8 *)in + 4096));}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
////////////////////////////////
|
||||
//~ rjf: post-0.9.12 TODO notes
|
||||
//
|
||||
// [ ] fix quote input in quoteless watch window value editors
|
||||
//
|
||||
// [ ] per-target stdout/stderr file output paths
|
||||
//
|
||||
// [ ] double click on breakpoints/watch-pins/etc. to go to location
|
||||
|
||||
@@ -5361,7 +5361,7 @@ RD_VIEW_RULE_UI_FUNCTION_DEF(targets)
|
||||
rd_watch_view_column_alloc(wv, RD_WatchViewColumnKind_Value, 0.75f, .dequote_string = 1, .is_non_code = 0);
|
||||
}
|
||||
rd_watch_view_build(wv, RD_WatchViewFlag_NoHeader|RD_WatchViewFlag_PrettyNameMembers|RD_WatchViewFlag_PrettyEntityRows|RD_WatchViewFlag_DisableCacheLines,
|
||||
str8_lit("targets"), str8_lit("only: label exe args working_directory entry_point str"), 1, 10, rect);
|
||||
str8_lit("targets"), str8_lit("only: label exe args working_directory entry_point stdout_path stderr_path stdin_path str"), 1, 10, rect);
|
||||
ProfEnd();
|
||||
}
|
||||
|
||||
@@ -5823,6 +5823,10 @@ RD_VIEW_RULE_UI_FUNCTION_DEF(text)
|
||||
rd_regs()->cursor.column = rd_value_from_params_key(params, str8_lit("cursor_column")).s64;
|
||||
rd_regs()->mark.line = rd_value_from_params_key(params, str8_lit("mark_line")).s64;
|
||||
rd_regs()->mark.column = rd_value_from_params_key(params, str8_lit("mark_column")).s64;
|
||||
if(rd_regs()->cursor.line == 0) { rd_regs()->cursor.line = 1; }
|
||||
if(rd_regs()->cursor.column == 0) { rd_regs()->cursor.column = 1; }
|
||||
if(rd_regs()->mark.line == 0) { rd_regs()->mark.line = 1; }
|
||||
if(rd_regs()->mark.column == 0) { rd_regs()->mark.column = 1; }
|
||||
E_Eval eval = e_eval_from_string(scratch.arena, string);
|
||||
Rng1U64 range = rd_range_from_eval_params(eval, params);
|
||||
rd_regs()->text_key = rd_key_from_eval_space_range(eval.space, range, 1);
|
||||
|
||||
Reference in New Issue
Block a user