fix open-tab path; fix pending-file setup

This commit is contained in:
Ryan Fleury
2024-09-16 16:13:40 -07:00
parent 2f86e289a4
commit ba647a0b1d
2 changed files with 8 additions and 34 deletions
+7 -29
View File
@@ -10195,7 +10195,7 @@ rd_frame(void)
RD_ViewRuleInfo *view_rule_info = rd_view_rule_info_from_string(cmd->name); RD_ViewRuleInfo *view_rule_info = rd_view_rule_info_from_string(cmd->name);
if(view_rule_info != &rd_nil_view_rule_info) if(view_rule_info != &rd_nil_view_rule_info)
{ {
rd_cmd(RD_CmdKind_OpenTab, .string = cmd->name); rd_cmd(RD_CmdKind_OpenTab, .params_tree = md_tree_from_string(scratch.arena, cmd->name)->first);
} }
}break; }break;
@@ -11911,33 +11911,11 @@ rd_frame(void)
case RD_CmdKind_OpenTab: case RD_CmdKind_OpenTab:
{ {
RD_Panel *panel = rd_panel_from_handle(rd_regs()->panel); RD_Panel *panel = rd_panel_from_handle(rd_regs()->panel);
#if 0 // TODO(rjf): @msgs RD_View *view = rd_view_alloc();
RD_ViewSpec *spec = rd_view_spec_from_string(rd_regs()->string); String8 query = rd_regs()->string;
RD_Entity *entity = &d_nil_entity; RD_ViewRuleInfo *spec = rd_view_rule_info_from_string(rd_regs()->params_tree->string);
if(spec->info.flags & RD_ViewSpecFlag_ParameterizedByEntity) rd_view_equip_spec(view, spec, query, rd_regs()->params_tree);
{ rd_panel_insert_tab_view(panel, panel->last_tab_view, view);
entity = rd_entity_from_handle(rd_regs()->entity);
}
if(!rd_panel_is_nil(panel) && spec != &rd_nil_view_spec)
{
RD_View *view = rd_view_alloc();
String8 query = {0};
if(!rd_entity_is_nil(entity))
{
query = rd_eval_string_from_entity(scratch.arena, entity);
}
else if(rd_regs()->file_path.size != 0)
{
query = rd_eval_string_from_file_path(scratch.arena, rd_regs()->file_path);
}
else if(rd_regs()->string.size != 0)
{
query = rd_regs()->string;
}
rd_view_equip_spec(view, spec, query, rd_regs()->params_tree);
rd_panel_insert_tab_view(panel, panel->last_tab_view, view);
}
#endif
}break; }break;
case RD_CmdKind_CloseTab: case RD_CmdKind_CloseTab:
{ {
@@ -11997,7 +11975,7 @@ rd_frame(void)
FileProperties props = os_properties_from_file_path(path); FileProperties props = os_properties_from_file_path(path);
if(props.created != 0) if(props.created != 0)
{ {
rd_cmd(RD_CmdKind_PendingFile); rd_cmd(RD_CmdKind_PendingFile, .string = rd_eval_string_from_file_path(scratch.arena, path));
} }
else else
{ {
+1 -5
View File
@@ -6310,11 +6310,7 @@ RD_VIEW_RULE_UI_FUNCTION_DEF(pending_file)
//- rjf: if entity is ready, replace this view with the correct one, if any viewer is specified //- rjf: if entity is ready, replace this view with the correct one, if any viewer is specified
if(file_is_ready && viewer_kind != RD_ViewRuleKind_Null) if(file_is_ready && viewer_kind != RD_ViewRuleKind_Null)
{ {
RD_ViewRuleInfo *view_rule_info = rd_view_rule_info_from_string(params_copy->string); RD_ViewRuleInfo *view_rule_info = rd_view_rule_info_from_kind(viewer_kind);
if(view_rule_info == &rd_nil_view_rule_info)
{
view_rule_info = rd_view_rule_info_from_kind(viewer_kind);
}
String8 query = rd_eval_string_from_file_path(scratch.arena, file_path); String8 query = rd_eval_string_from_file_path(scratch.arena, file_path);
RD_View *view = rd_view_from_handle(rd_regs()->view); RD_View *view = rd_view_from_handle(rd_regs()->view);
rd_view_equip_spec(view, view_rule_info, query, params_copy); rd_view_equip_spec(view, view_rule_info, query, params_copy);