From 3a428effed2327b8f82bd8cd328f385032e5bc06 Mon Sep 17 00:00:00 2001 From: Aram Drevekenin Date: Mon, 3 Apr 2023 18:04:06 +0200 Subject: [PATCH] feat(panes): allow defining an expanded stacked pane (#2343) * feat(panes): allow defining an expanded stacked pane * style(fmt): rustfmt --- zellij-server/src/panes/tiled_panes/mod.rs | 43 ++++++++-- .../src/panes/tiled_panes/stacked_panes.rs | 10 ++- zellij-server/src/tab/layout_applier.rs | 21 ++++- ...ts__can_define_expanded_pane_in_stack.snap | 26 ++++++ .../src/tab/unit/tab_integration_tests.rs | 32 ++++++++ ...end_cli_new_tab_action_default_params.snap | 5 +- ...i_new_tab_action_with_name_and_layout.snap | 6 +- ...en__screen_tests__send_cli_rename_tab.snap | 7 ++ ...creen_tests__send_cli_undo_rename_tab.snap | 7 ++ zellij-utils/src/input/layout.rs | 6 +- zellij-utils/src/input/unit/layout_test.rs | 29 +++++++ ..._test__args_added_to_args_in_template.snap | 5 +- ..._test__args_override_args_in_template.snap | 5 +- ..._define_a_stack_with_an_expanded_pane.snap | 79 +++++++++++++++++++ ...define_stacked_children_for_pane_node.snap | 6 +- ...ne_stacked_children_for_pane_template.snap | 7 +- ...ad_swap_layouts_from_a_different_file.snap | 38 ++++++++- ...n_not_as_first_child_of_pane_template.snap | 14 +++- ...en_not_as_first_child_of_tab_template.snap | 14 +++- ...it_added_to_close_on_exit_in_template.snap | 5 +- ...t_overrides_close_on_exit_in_template.snap | 5 +- ..._and_pane_template_both_with_children.snap | 19 ++++- ...ut_test__cwd_added_to_cwd_in_template.snap | 5 +- ...ut_test__cwd_override_cwd_in_template.snap | 5 +- ...epended_to_panes_with_and_without_cwd.snap | 6 +- ...ith_and_without_cwd_in_pane_templates.snap | 9 ++- ...with_and_without_cwd_in_tab_templates.snap | 8 +- ...global_cwd_given_to_panes_without_cwd.snap | 5 +- ...al_cwd_passed_from_layout_constructor.snap | 5 +- ...r_overrides_global_cwd_in_layout_file.snap | 5 +- ...lobal_cwd_prepended_to_panes_with_cwd.snap | 5 +- ...th_tab_cwd_given_to_panes_without_cwd.snap | 6 +- ..._with_command_panes_and_close_on_exit.snap | 4 +- ...ith_command_panes_and_start_suspended.snap | 4 +- ...est__layout_with_default_tab_template.snap | 22 +++++- ...t_with_nested_branched_pane_templates.snap | 13 ++- ...st__layout_with_nested_pane_templates.snap | 10 ++- ...yout_test__layout_with_pane_templates.snap | 24 +++++- ...t__layout_with_tab_and_pane_templates.snap | 9 ++- ...__layout_with_tabs_and_floating_panes.snap | 7 +- ...s_overriden_by_its_consumers_bare_cwd.snap | 4 +- ...verriden_by_its_consumers_command_cwd.snap | 4 +- ..._consumer_command_does_not_have_a_cwd.snap | 4 +- ...cwd_is_overriden_by_its_consumers_cwd.snap | 4 +- ...t_cwd_receives_its_consumers_bare_cwd.snap | 4 +- ...d_overriden_by_its_consumers_bare_cwd.snap | 4 +- ...ated_to_its_consumer_command_with_cwd.snap | 4 +- ...d_to_its_consumer_command_without_cwd.snap | 4 +- ..._bare_propagated_to_its_consumer_edit.snap | 2 + ...mmand_propagated_to_its_consumer_edit.snap | 2 + ...t__tab_cwd_given_to_panes_without_cwd.snap | 6 +- ...__tab_cwd_prepended_to_panes_with_cwd.snap | 6 +- zellij-utils/src/kdl/kdl_layout_parser.rs | 32 ++++++++ ...i_arguments_override_layout_options-2.snap | 3 +- ...efault_config_with_no_cli_arguments-2.snap | 78 ++++++++++++++++++ ...out_options_override_config_options-2.snap | 3 +- 56 files changed, 649 insertions(+), 56 deletions(-) create mode 100644 zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__can_define_expanded_pane_in_stack.snap create mode 100644 zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_a_stack_with_an_expanded_pane.snap diff --git a/zellij-server/src/panes/tiled_panes/mod.rs b/zellij-server/src/panes/tiled_panes/mod.rs index 89a329bb..4cc7279d 100644 --- a/zellij-server/src/panes/tiled_panes/mod.rs +++ b/zellij-server/src/panes/tiled_panes/mod.rs @@ -423,7 +423,7 @@ impl TiledPanes { .unwrap_or(false) { let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide) - .focus_pane(&pane_id); + .expand_pane(&pane_id); } self.active_panes .insert(client_id, pane_id, &mut self.panes); @@ -446,7 +446,7 @@ impl TiledPanes { { let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide) - .focus_pane(&pane_id); + .expand_pane(&pane_id); } self.active_panes .insert(client_id, *pane_id, &mut self.panes); @@ -465,7 +465,7 @@ impl TiledPanes { &mut self.panes, &self.panes_to_hide, ) - .focus_pane(&pane_id); + .expand_pane(&pane_id); } self.active_panes .insert(client_id, pane_id, &mut self.panes); @@ -477,6 +477,33 @@ impl TiledPanes { self.set_force_render(); self.reapply_pane_frames(); } + pub fn expand_pane_in_stack(&mut self, pane_id: PaneId) -> Vec { + // returns all pane ids in stack + match StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide) + .expand_pane(&pane_id) + { + Ok(all_panes_in_stack) => { + let connected_clients: Vec = + self.connected_clients.borrow().iter().copied().collect(); + for client_id in connected_clients { + if let Some(focused_pane_id_for_client) = self.active_panes.get(&client_id) { + if all_panes_in_stack.contains(focused_pane_id_for_client) { + self.active_panes + .insert(client_id, pane_id, &mut self.panes); + self.set_pane_active_at(pane_id); + } + } + } + self.set_force_render(); + self.reapply_pane_frames(); + all_panes_in_stack + }, + Err(e) => { + log::error!("Failed to expand pane in stack: {:?}", e); + vec![] + }, + } + } pub fn focus_pane(&mut self, pane_id: PaneId, client_id: ClientId) { if self .panes @@ -485,7 +512,7 @@ impl TiledPanes { .unwrap_or(false) { let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide) - .focus_pane(&pane_id); + .expand_pane(&pane_id); self.reapply_pane_frames(); } @@ -826,7 +853,7 @@ impl TiledPanes { .unwrap_or(false) { let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide) - .focus_pane(&next_active_pane_id); + .expand_pane(&next_active_pane_id); self.reapply_pane_frames(); } @@ -858,7 +885,7 @@ impl TiledPanes { .unwrap_or(false) { let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide) - .focus_pane(&next_active_pane_id); + .expand_pane(&next_active_pane_id); self.reapply_pane_frames(); } for client_id in connected_clients { @@ -1166,7 +1193,7 @@ impl TiledPanes { .unwrap_or(false) { let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide) - .focus_pane(&new_position_id); + .expand_pane(&new_position_id); self.reapply_pane_frames(); } @@ -1430,7 +1457,7 @@ impl TiledPanes { .unwrap_or(false) { let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide) - .focus_pane(&next_active_pane_id); + .expand_pane(&next_active_pane_id); self.reapply_pane_frames(); } for (client_id, active_pane_id) in active_panes { diff --git a/zellij-server/src/panes/tiled_panes/stacked_panes.rs b/zellij-server/src/panes/tiled_panes/stacked_panes.rs index cc0b0f15..bc5057a5 100644 --- a/zellij-server/src/panes/tiled_panes/stacked_panes.rs +++ b/zellij-server/src/panes/tiled_panes/stacked_panes.rs @@ -102,9 +102,8 @@ impl<'a> StackedPanes<'a> { } Ok(()) } - pub fn focus_pane(&mut self, pane_id: &PaneId) -> Result<()> { - // this function doesn't actually change the focus (since it is controlled elsewhere) - // but rather makes sure pane_id is flexible if it were a one-liner before + pub fn expand_pane(&mut self, pane_id: &PaneId) -> Result> { + // returns all the pane ids in the stack let err_context = || format!("Failed to focus stacked pane"); let all_stacked_pane_positions = self.positions_in_stack(pane_id).with_context(err_context)?; @@ -158,7 +157,10 @@ impl<'a> StackedPanes<'a> { } } } - Ok(()) + Ok(all_stacked_pane_positions + .iter() + .map(|(pane_id, _pane_position)| *pane_id) + .collect()) } pub fn flexible_pane_id_in_stack(&self, pane_id_in_stack: &PaneId) -> Option { let all_stacked_pane_positions = self.positions_in_stack(pane_id_in_stack).ok()?; diff --git a/zellij-server/src/tab/layout_applier.rs b/zellij-server/src/tab/layout_applier.rs index 04c22fe9..ef475c07 100644 --- a/zellij-server/src/tab/layout_applier.rs +++ b/zellij-server/src/tab/layout_applier.rs @@ -138,6 +138,8 @@ impl<'a> LayoutApplier<'a> { Some(position_and_size), ); pane_focuser.set_pane_id_in_focused_location(layout.focus, &pane); + pane_focuser + .set_expanded_stacked_pane(layout.is_expanded_in_stack, &pane); resize_pty!(pane, self.os_api, self.senders, self.character_cell_size)?; self.tiled_panes .add_pane_with_existing_geom(pane.pid(), pane); @@ -161,6 +163,7 @@ impl<'a> LayoutApplier<'a> { Some(position_and_size), ); pane_focuser.set_pane_id_in_focused_location(layout.focus, &pane); + pane_focuser.set_expanded_stacked_pane(layout.is_expanded_in_stack, &pane); resize_pty!(pane, self.os_api, self.senders, self.character_cell_size)?; self.tiled_panes .add_pane_with_existing_geom(pane.pid(), pane); @@ -744,6 +747,7 @@ impl ExistingTabState { struct PaneFocuser { refocus_pane: bool, pane_id_in_focused_location: Option, + expanded_stacked_pane_ids: Vec, } impl PaneFocuser { @@ -762,12 +766,24 @@ impl PaneFocuser { self.pane_id_in_focused_location = Some(pane.pid()); } } + pub fn set_expanded_stacked_pane(&mut self, is_expanded_in_stack: bool, pane: &Box) { + if is_expanded_in_stack && pane.selectable() { + self.expanded_stacked_pane_ids.push(pane.pid()); + } + } pub fn focus_tiled_pane(&self, tiled_panes: &mut TiledPanes) { + let mut panes_in_stack = vec![]; + for pane_id in &self.expanded_stacked_pane_ids { + panes_in_stack.append(&mut tiled_panes.expand_pane_in_stack(*pane_id)); + } match self.pane_id_in_focused_location { Some(pane_id_in_focused_location) => { if self.refocus_pane { tiled_panes.reapply_pane_focus(); - tiled_panes.switch_active_pane_with(pane_id_in_focused_location); + if !panes_in_stack.contains(&pane_id_in_focused_location) { + // we do not change stacked panes locations because this has already been done above + tiled_panes.switch_active_pane_with(pane_id_in_focused_location); + } } else { tiled_panes.reapply_pane_focus(); } @@ -776,6 +792,9 @@ impl PaneFocuser { tiled_panes.reapply_pane_focus(); }, } + for pane_id in &self.expanded_stacked_pane_ids { + tiled_panes.expand_pane_in_stack(*pane_id); + } } pub fn focus_floating_pane( &self, diff --git a/zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__can_define_expanded_pane_in_stack.snap b/zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__can_define_expanded_pane_in_stack.snap new file mode 100644 index 00000000..f12ea290 --- /dev/null +++ b/zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__can_define_expanded_pane_in_stack.snap @@ -0,0 +1,26 @@ +--- +source: zellij-server/src/tab/./unit/tab_integration_tests.rs +assertion_line: 6826 +expression: snapshot +--- +00 (C): ┌ Pane #1 ──────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ +01 (C): │ │┌ Pane #3 ─────────────────────────────────────────────────┐ +02 (C): │ ││ │ +03 (C): │ ││ │ +04 (C): │ ││ │ +05 (C): │ ││ │ +06 (C): │ ││ │ +07 (C): │ ││ │ +08 (C): │ ││ │ +09 (C): │ ││ │ +10 (C): │ ││ │ +11 (C): │ ││ │ +12 (C): │ ││ │ +13 (C): │ ││ │ +14 (C): │ ││ │ +15 (C): │ ││ │ +16 (C): │ ││ │ +17 (C): │ │└──────────────────────────────────────────────────────────┘ +18 (C): │ │└ Pane #4 ─────────────────────────────────────────────────┘ +19 (C): └───────────────────────────────────────────────────────────┘└ Pane #5 ─────────────────────────────────────────────────┘ + diff --git a/zellij-server/src/tab/unit/tab_integration_tests.rs b/zellij-server/src/tab/unit/tab_integration_tests.rs index d7556eed..24fa1b2f 100644 --- a/zellij-server/src/tab/unit/tab_integration_tests.rs +++ b/zellij-server/src/tab/unit/tab_integration_tests.rs @@ -6793,3 +6793,35 @@ fn when_applying_a_truncated_swap_layout_child_attributes_are_not_ignored() { ); assert_snapshot!(snapshot); } + +#[test] +fn can_define_expanded_pane_in_stack() { + let layout = r#" + layout { + pane split_direction="Vertical" { + pane + pane stacked=true { + pane + pane expanded=true + pane + pane + } + } + } + "#; + let size = Size { + cols: 121, + rows: 20, + }; + let client_id = 1; + let mut tab = create_new_tab_with_layout(size, ModeInfo::default(), layout); + let mut output = Output::default(); + tab.render(&mut output, None).unwrap(); + let snapshot = take_snapshot( + output.serialize().unwrap().get(&client_id).unwrap(), + size.rows, + size.cols, + Palette::default(), + ); + assert_snapshot!(snapshot); +} diff --git a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_default_params.snap b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_default_params.snap index 08168b96..45e58cf7 100644 --- a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_default_params.snap +++ b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_default_params.snap @@ -1,6 +1,6 @@ --- source: zellij-server/src/./unit/screen_tests.rs -assertion_line: 2394 +assertion_line: 2397 expression: "format!(\"{:#?}\", new_tab_action)" --- Some( @@ -21,6 +21,7 @@ Some( focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -32,6 +33,7 @@ Some( focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -40,6 +42,7 @@ Some( focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ), [], diff --git a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_with_name_and_layout.snap b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_with_name_and_layout.snap index 195fc81e..d09628de 100644 --- a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_with_name_and_layout.snap +++ b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_with_name_and_layout.snap @@ -1,6 +1,6 @@ --- source: zellij-server/src/./unit/screen_tests.rs -assertion_line: 2445 +assertion_line: 2448 expression: "format!(\"{:#?}\", new_tab_instruction)" --- NewTab( @@ -24,6 +24,7 @@ NewTab( focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -39,6 +40,7 @@ NewTab( focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -54,6 +56,7 @@ NewTab( focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -62,6 +65,7 @@ NewTab( focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ), [], diff --git a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_tab.snap b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_tab.snap index 2423ce98..c0312eb7 100644 --- a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_tab.snap +++ b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_tab.snap @@ -1,5 +1,6 @@ --- source: zellij-server/src/./unit/screen_tests.rs +assertion_line: 2632 expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" --- [ @@ -42,6 +43,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -53,6 +55,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -61,6 +64,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ), [], @@ -196,6 +200,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -207,6 +212,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -215,6 +221,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ), [], diff --git a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_tab.snap b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_tab.snap index 0b777a1e..525bb97d 100644 --- a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_tab.snap +++ b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_tab.snap @@ -1,5 +1,6 @@ --- source: zellij-server/src/./unit/screen_tests.rs +assertion_line: 2675 expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" --- [ @@ -42,6 +43,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -53,6 +55,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -61,6 +64,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ), [], @@ -196,6 +200,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -207,6 +212,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -215,6 +221,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())" focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ), [], diff --git a/zellij-utils/src/input/layout.rs b/zellij-utils/src/input/layout.rs index 78db7ce5..a07e1d31 100644 --- a/zellij-utils/src/input/layout.rs +++ b/zellij-utils/src/input/layout.rs @@ -394,6 +394,7 @@ pub struct TiledPaneLayout { pub focus: Option, pub external_children_index: Option, pub children_are_stacked: bool, + pub is_expanded_in_stack: bool, } impl TiledPaneLayout { @@ -865,12 +866,15 @@ fn split_space( ) -> Result, &'static str> { let mut pane_positions = Vec::new(); let sizes: Vec> = if layout.children_are_stacked { + let index_of_expanded_pane = layout.children.iter().position(|p| p.is_expanded_in_stack); let mut sizes: Vec> = layout .children .iter() .map(|_part| Some(SplitSize::Fixed(1))) .collect(); - if let Some(last_size) = sizes.last_mut() { + if let Some(index_of_expanded_pane) = index_of_expanded_pane { + *sizes.get_mut(index_of_expanded_pane).unwrap() = None; + } else if let Some(last_size) = sizes.last_mut() { *last_size = None; } sizes diff --git a/zellij-utils/src/input/unit/layout_test.rs b/zellij-utils/src/input/unit/layout_test.rs index 237cf978..7ff2567a 100644 --- a/zellij-utils/src/input/unit/layout_test.rs +++ b/zellij-utils/src/input/unit/layout_test.rs @@ -1881,6 +1881,21 @@ fn can_define_stacked_children_for_pane_template() { assert_snapshot!(format!("{:#?}", layout)); } +#[test] +fn can_define_a_stack_with_an_expanded_pane() { + let kdl_layout = r#" + layout { + pane stacked=true { + pane + pane expanded=true + pane + } + } + "#; + let layout = Layout::from_kdl(kdl_layout, "layout_file_name".into(), None, None).unwrap(); + assert_snapshot!(format!("{:#?}", layout)); +} + #[test] fn cannot_define_stacked_panes_for_bare_node() { let kdl_layout = r#" @@ -1892,6 +1907,20 @@ fn cannot_define_stacked_panes_for_bare_node() { assert!(layout.is_err(), "error provided for tab name with space"); } +#[test] +fn cannot_define_an_expanded_pane_outside_of_a_stack() { + let kdl_layout = r#" + layout { + pane { + pane + pane expanded=true + } + } + "#; + let layout = Layout::from_kdl(kdl_layout, "layout_file_name".into(), None, None); + assert!(layout.is_err(), "error provided for tab name with space"); +} + #[test] fn cannot_define_stacked_panes_with_vertical_split_direction() { let kdl_layout = r#" diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_added_to_args_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_added_to_args_in_template.snap index 79990832..65450c12 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_added_to_args_in_template.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_added_to_args_in_template.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1266 +assertion_line: 1322 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -32,6 +32,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -56,6 +57,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -64,6 +66,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_override_args_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_override_args_in_template.snap index bb691fe7..5db6198b 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_override_args_in_template.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_override_args_in_template.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1231 +assertion_line: 1287 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -35,6 +35,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -59,6 +60,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -67,6 +69,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_a_stack_with_an_expanded_pane.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_a_stack_with_an_expanded_pane.snap new file mode 100644 index 00000000..92e0e436 --- /dev/null +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_a_stack_with_an_expanded_pane.snap @@ -0,0 +1,79 @@ +--- +source: zellij-utils/src/input/./unit/layout_test.rs +assertion_line: 1896 +expression: "format!(\"{:#?}\", layout)" +--- +Layout { + tabs: [], + focused_tab_index: None, + template: Some( + ( + TiledPaneLayout { + children_split_direction: Horizontal, + name: None, + children: [ + TiledPaneLayout { + children_split_direction: Horizontal, + name: None, + children: [ + TiledPaneLayout { + children_split_direction: Horizontal, + name: None, + children: [], + split_size: None, + run: None, + borderless: false, + focus: None, + external_children_index: None, + children_are_stacked: false, + is_expanded_in_stack: false, + }, + TiledPaneLayout { + children_split_direction: Horizontal, + name: None, + children: [], + split_size: None, + run: None, + borderless: false, + focus: None, + external_children_index: None, + children_are_stacked: false, + is_expanded_in_stack: true, + }, + TiledPaneLayout { + children_split_direction: Horizontal, + name: None, + children: [], + split_size: None, + run: None, + borderless: false, + focus: None, + external_children_index: None, + children_are_stacked: false, + is_expanded_in_stack: false, + }, + ], + split_size: None, + run: None, + borderless: false, + focus: None, + external_children_index: None, + children_are_stacked: true, + is_expanded_in_stack: false, + }, + ], + split_size: None, + run: None, + borderless: false, + focus: None, + external_children_index: None, + children_are_stacked: false, + is_expanded_in_stack: false, + }, + [], + ), + ), + swap_layouts: [], + swap_tiled_layouts: [], + swap_floating_layouts: [], +} diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_node.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_node.snap index 74a872bc..c9aa7f87 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_node.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_node.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1870 +assertion_line: 1864 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -26,6 +26,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -37,6 +38,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -45,6 +47,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: true, + is_expanded_in_stack: false, }, ], split_size: None, @@ -53,6 +56,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_template.snap index 9653eda5..36186c3c 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_template.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_template.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1893 +assertion_line: 1881 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -30,6 +30,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -41,6 +42,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -49,6 +51,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: true, + is_expanded_in_stack: true, }, ], split_size: None, @@ -57,6 +60,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: true, + is_expanded_in_stack: false, }, ], split_size: None, @@ -65,6 +69,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_load_swap_layouts_from_a_different_file.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_load_swap_layouts_from_a_different_file.snap index be292b58..e2860ea0 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_load_swap_layouts_from_a_different_file.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_load_swap_layouts_from_a_different_file.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1788 +assertion_line: 1850 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -22,6 +22,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -30,6 +31,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -69,6 +71,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -88,6 +91,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -101,6 +105,7 @@ Layout { 0, ), children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -109,6 +114,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -117,6 +123,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -143,6 +150,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -151,6 +159,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, MaxPanes( 8, @@ -183,6 +192,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -204,6 +214,7 @@ Layout { 0, ), children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -219,6 +230,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -230,6 +242,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -241,6 +254,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -252,6 +266,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -260,6 +275,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -268,6 +284,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -276,6 +293,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -302,6 +320,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -310,6 +329,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, MaxPanes( 12, @@ -342,6 +362,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -363,6 +384,7 @@ Layout { 0, ), children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -378,6 +400,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -389,6 +412,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -400,6 +424,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -411,6 +436,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -419,6 +445,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -434,6 +461,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -445,6 +473,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -456,6 +485,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -467,6 +497,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -475,6 +506,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -483,6 +515,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -491,6 +524,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -517,6 +551,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -525,6 +560,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, }, Some( diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_pane_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_pane_template.snap index 304f0169..be074f54 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_pane_template.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_pane_template.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 909 +assertion_line: 956 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -32,6 +32,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -47,6 +48,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -58,6 +60,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -66,6 +69,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -74,6 +78,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -85,6 +90,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -93,6 +99,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -112,6 +119,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -122,6 +130,7 @@ Layout { 1, ), children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -133,6 +142,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -141,6 +151,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -149,6 +160,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_tab_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_tab_template.snap index ded8fd1f..4cb4b14e 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_tab_template.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_tab_template.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 861 +assertion_line: 908 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -27,6 +27,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -42,6 +43,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -53,6 +55,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -61,6 +64,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -69,6 +73,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -80,6 +85,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -88,6 +94,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -111,6 +118,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -121,6 +129,7 @@ Layout { 1, ), children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -132,6 +141,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -140,6 +150,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -157,6 +168,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_added_to_close_on_exit_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_added_to_close_on_exit_in_template.snap index b7ed1fe8..aa59d56a 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_added_to_close_on_exit_in_template.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_added_to_close_on_exit_in_template.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1283 +assertion_line: 1339 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -32,6 +32,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -53,6 +54,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -61,6 +63,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_overrides_close_on_exit_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_overrides_close_on_exit_in_template.snap index b0c35796..20cf29a6 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_overrides_close_on_exit_in_template.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_overrides_close_on_exit_in_template.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1249 +assertion_line: 1305 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -32,6 +32,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -53,6 +54,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -61,6 +63,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__combined_tab_and_pane_template_both_with_children.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__combined_tab_and_pane_template_both_with_children.snap index ad335416..4690737e 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__combined_tab_and_pane_template_both_with_children.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__combined_tab_and_pane_template_both_with_children.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 961 +assertion_line: 1008 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -27,6 +27,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -44,6 +45,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -52,6 +54,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -63,6 +66,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -71,6 +75,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -86,6 +91,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -97,6 +103,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -105,6 +112,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -113,6 +121,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -136,6 +145,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -153,6 +163,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -161,6 +172,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -172,6 +184,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -180,6 +193,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -191,6 +205,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -199,6 +214,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -216,6 +232,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_added_to_cwd_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_added_to_cwd_in_template.snap index 1940a648..0d55ae02 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_added_to_cwd_in_template.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_added_to_cwd_in_template.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1318 +assertion_line: 1374 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -32,6 +32,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -55,6 +56,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -63,6 +65,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_override_cwd_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_override_cwd_in_template.snap index f89eb14e..7c487e00 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_override_cwd_in_template.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_override_cwd_in_template.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1301 +assertion_line: 1357 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -34,6 +34,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -57,6 +58,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -65,6 +67,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd.snap index 0c0dc06d..72e1a7ae 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1701 +assertion_line: 1759 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -25,6 +25,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -48,6 +49,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -60,6 +62,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -77,6 +80,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_pane_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_pane_templates.snap index 7859311c..45cbc40c 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_pane_templates.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_pane_templates.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1722 +assertion_line: 1780 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -29,6 +29,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -52,6 +53,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -71,6 +73,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -83,6 +86,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -95,6 +99,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -107,6 +112,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -124,6 +130,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_tab_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_tab_templates.snap index 76d08d57..4fe1ca34 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_tab_templates.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_tab_templates.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1741 +assertion_line: 1799 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -25,6 +25,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -48,6 +49,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -67,6 +69,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -79,6 +82,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -91,6 +95,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -108,6 +113,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_given_to_panes_without_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_given_to_panes_without_cwd.snap index c9b824bd..350be507 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_given_to_panes_without_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_given_to_panes_without_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1588 +assertion_line: 1644 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -26,6 +26,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -49,6 +50,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -57,6 +59,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor.snap index 328b9bc9..83d4e314 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1620 +assertion_line: 1677 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -26,6 +26,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -49,6 +50,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -57,6 +59,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor_overrides_global_cwd_in_layout_file.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor_overrides_global_cwd_in_layout_file.snap index d16986e1..ecffcd50 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor_overrides_global_cwd_in_layout_file.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor_overrides_global_cwd_in_layout_file.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1640 +assertion_line: 1698 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -26,6 +26,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -49,6 +50,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -57,6 +59,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_prepended_to_panes_with_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_prepended_to_panes_with_cwd.snap index 3b445963..36f7eae1 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_prepended_to_panes_with_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_prepended_to_panes_with_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1601 +assertion_line: 1657 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -26,6 +26,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -49,6 +50,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -57,6 +59,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_with_tab_cwd_given_to_panes_without_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_with_tab_cwd_given_to_panes_without_cwd.snap index 58602c68..bb2788f1 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_with_tab_cwd_given_to_panes_without_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_with_tab_cwd_given_to_panes_without_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1656 +assertion_line: 1714 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -25,6 +25,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -48,6 +49,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -60,6 +62,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -77,6 +80,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_close_on_exit.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_close_on_exit.snap index 83f17c11..a1c0e304 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_close_on_exit.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_close_on_exit.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 448 +assertion_line: 481 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -32,6 +32,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -40,6 +41,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_start_suspended.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_start_suspended.snap index 8b3afcdd..bff3ec1d 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_start_suspended.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_start_suspended.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 461 +assertion_line: 494 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -32,6 +32,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -40,6 +41,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_default_tab_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_default_tab_template.snap index daf284ff..470639ec 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_default_tab_template.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_default_tab_template.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 720 +assertion_line: 767 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -23,6 +23,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Vertical, @@ -38,6 +39,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -49,6 +51,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -57,6 +60,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -68,6 +72,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -76,6 +81,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -97,6 +103,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -112,6 +119,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -123,6 +131,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -131,6 +140,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -142,6 +152,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -150,6 +161,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -169,6 +181,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -180,6 +193,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -191,6 +205,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -199,6 +214,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -220,6 +236,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -231,6 +248,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -242,6 +260,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -250,6 +269,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_branched_pane_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_branched_pane_templates.snap index cb166970..7a0e3552 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_branched_pane_templates.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_branched_pane_templates.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 815 +assertion_line: 862 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -26,6 +26,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -37,6 +38,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -52,6 +54,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -63,6 +66,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -71,6 +75,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -86,6 +91,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -97,6 +103,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -108,6 +115,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -116,6 +124,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -124,6 +133,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -132,6 +142,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_pane_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_pane_templates.snap index 3fab5306..727a2afa 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_pane_templates.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_pane_templates.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 789 +assertion_line: 836 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -26,6 +26,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -37,6 +38,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -52,6 +54,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -63,6 +66,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -71,6 +75,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -82,6 +87,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -90,6 +96,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -98,6 +105,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_pane_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_pane_templates.snap index f52d2c97..c0a6055c 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_pane_templates.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_pane_templates.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 747 +assertion_line: 794 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -26,6 +26,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -41,6 +42,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -49,6 +51,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -60,6 +63,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -68,6 +72,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Vertical, @@ -83,6 +88,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -98,6 +104,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -109,6 +116,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -117,6 +125,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -128,6 +137,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -136,6 +146,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Vertical, @@ -151,6 +162,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Vertical, @@ -166,6 +178,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -177,6 +190,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -185,6 +199,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -196,6 +211,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -204,6 +220,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Vertical, @@ -219,6 +236,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -230,6 +248,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -241,6 +260,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -249,6 +269,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -257,6 +278,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tab_and_pane_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tab_and_pane_templates.snap index 9126477e..922932c8 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tab_and_pane_templates.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tab_and_pane_templates.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 768 +assertion_line: 815 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -25,6 +25,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -50,6 +51,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -58,6 +60,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -69,6 +72,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -77,6 +81,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -85,6 +90,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -102,6 +108,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tabs_and_floating_panes.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tabs_and_floating_panes.snap index 61286160..3ea06c6c 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tabs_and_floating_panes.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tabs_and_floating_panes.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 254 +assertion_line: 275 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -21,6 +21,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -29,6 +30,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [ FloatingPaneLayout { @@ -58,6 +60,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -66,6 +69,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [ FloatingPaneLayout { @@ -102,6 +106,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_is_overriden_by_its_consumers_bare_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_is_overriden_by_its_consumers_bare_cwd.snap index a3a4965c..9a8f037e 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_is_overriden_by_its_consumers_bare_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_is_overriden_by_its_consumers_bare_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1472 +assertion_line: 1528 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -34,6 +34,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -42,6 +43,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_overriden_by_its_consumers_command_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_overriden_by_its_consumers_command_cwd.snap index a0d1a943..4cc09f33 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_overriden_by_its_consumers_command_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_overriden_by_its_consumers_command_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1418 +assertion_line: 1474 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -34,6 +34,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -42,6 +43,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_remains_when_its_consumer_command_does_not_have_a_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_remains_when_its_consumer_command_does_not_have_a_cwd.snap index 81f0a09f..93af65c6 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_remains_when_its_consumer_command_does_not_have_a_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_remains_when_its_consumer_command_does_not_have_a_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1435 +assertion_line: 1491 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -34,6 +34,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -42,6 +43,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_is_overriden_by_its_consumers_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_is_overriden_by_its_consumers_cwd.snap index ddcd1225..6f3eadfa 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_is_overriden_by_its_consumers_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_is_overriden_by_its_consumers_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1453 +assertion_line: 1509 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -34,6 +34,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -42,6 +43,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_receives_its_consumers_bare_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_receives_its_consumers_bare_cwd.snap index 74318d3a..7e899c39 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_receives_its_consumers_bare_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_receives_its_consumers_bare_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1490 +assertion_line: 1546 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -34,6 +34,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -42,6 +43,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_cwd_overriden_by_its_consumers_bare_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_cwd_overriden_by_its_consumers_bare_cwd.snap index 13492fea..6395def8 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_cwd_overriden_by_its_consumers_bare_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_cwd_overriden_by_its_consumers_bare_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1508 +assertion_line: 1564 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -26,6 +26,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -34,6 +35,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_with_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_with_cwd.snap index bb193e7c..2615e5f1 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_with_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_with_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1542 +assertion_line: 1598 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -34,6 +34,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -42,6 +43,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_without_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_without_cwd.snap index d28a7be1..e4506f35 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_without_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_without_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1524 +assertion_line: 1580 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -34,6 +34,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -42,6 +43,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_edit.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_edit.snap index 68661a9c..64641deb 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_edit.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_edit.snap @@ -30,6 +30,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -38,6 +39,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_command_propagated_to_its_consumer_edit.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_command_propagated_to_its_consumer_edit.snap index 47469139..9ed7fb77 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_command_propagated_to_its_consumer_edit.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_command_propagated_to_its_consumer_edit.snap @@ -30,6 +30,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -38,6 +39,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_given_to_panes_without_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_given_to_panes_without_cwd.snap index 718b0edb..32ae0b59 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_given_to_panes_without_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_given_to_panes_without_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1671 +assertion_line: 1729 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -25,6 +25,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -48,6 +49,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -60,6 +62,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -77,6 +80,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_prepended_to_panes_with_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_prepended_to_panes_with_cwd.snap index 1a205760..6334e791 100644 --- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_prepended_to_panes_with_cwd.snap +++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_prepended_to_panes_with_cwd.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/input/./unit/layout_test.rs -assertion_line: 1686 +assertion_line: 1744 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -25,6 +25,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -48,6 +49,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -60,6 +62,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -77,6 +80,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/kdl/kdl_layout_parser.rs b/zellij-utils/src/kdl/kdl_layout_parser.rs index bcb21b86..570824a0 100644 --- a/zellij-utils/src/kdl/kdl_layout_parser.rs +++ b/zellij-utils/src/kdl/kdl_layout_parser.rs @@ -91,6 +91,7 @@ impl<'a> KdlLayoutParser<'a> { || property_name == "pane" || property_name == "children" || property_name == "stacked" + || property_name == "expanded" } fn is_a_valid_floating_pane_property(&self, property_name: &str) -> bool { property_name == "borderless" @@ -438,6 +439,8 @@ impl<'a> KdlLayoutParser<'a> { self.assert_valid_pane_properties(kdl_node)?; let children_are_stacked = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked").unwrap_or(false); + let is_expanded_in_stack = + kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded").unwrap_or(false); let borderless = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "borderless"); let focus = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "focus"); let name = kdl_get_string_property_or_child_value_with_error!(kdl_node, "name") @@ -464,6 +467,12 @@ impl<'a> KdlLayoutParser<'a> { kdl_node.span().offset(), kdl_node.span().len(), )); + } else if is_expanded_in_stack && !is_part_of_stack { + return Err(ConfigError::new_layout_kdl_error( + format!("An expanded pane must be part of a stack"), + kdl_node.span().offset(), + kdl_node.span().len(), + )); } self.assert_no_mixed_children_and_properties(kdl_node)?; Ok(TiledPaneLayout { @@ -476,6 +485,7 @@ impl<'a> KdlLayoutParser<'a> { external_children_index, children, children_are_stacked, + is_expanded_in_stack, ..Default::default() }) } @@ -513,6 +523,9 @@ impl<'a> KdlLayoutParser<'a> { let children_are_stacked = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked") .unwrap_or(pane_template.children_are_stacked); + let is_expanded_in_stack = + kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded") + .unwrap_or(pane_template.children_are_stacked); let children_split_direction = self.parse_split_direction(kdl_node)?; let (external_children_index, pane_parts) = match kdl_children_nodes!(kdl_node) { Some(children) => { @@ -526,6 +539,7 @@ impl<'a> KdlLayoutParser<'a> { children: pane_parts, external_children_index, children_are_stacked, + is_expanded_in_stack, ..Default::default() }; self.assert_one_children_block(&pane_template, pane_template_kdl_node)?; @@ -582,6 +596,8 @@ impl<'a> KdlLayoutParser<'a> { .map(|name| name.to_string()); let children_are_stacked = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked"); + let is_expanded_in_stack = + kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded"); let args = self.parse_args(kdl_node)?; let close_on_exit = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "close_on_exit"); @@ -640,6 +656,9 @@ impl<'a> KdlLayoutParser<'a> { if let Some(children_are_stacked) = children_are_stacked { pane_template.children_are_stacked = children_are_stacked; } + if let Some(is_expanded_in_stack) = is_expanded_in_stack { + pane_template.is_expanded_in_stack = is_expanded_in_stack; + } pane_template.external_children_index = external_children_index; Ok(pane_template) }, @@ -803,6 +822,8 @@ impl<'a> KdlLayoutParser<'a> { let borderless = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "borderless"); let children_are_stacked = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked"); + let is_expanded_in_stack = + kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded"); let split_size = self.parse_split_size(kdl_node)?; let split_direction = kdl_get_string_property_or_child_value_with_error!(kdl_node, "split_direction"); @@ -818,6 +839,7 @@ impl<'a> KdlLayoutParser<'a> { || split_size.is_some() || split_direction.is_some() || children_are_stacked.is_some() + || is_expanded_in_stack.is_some() || has_children_nodes; let has_floating_pane_properties = height.is_some() || width.is_some() || x.is_some() || y.is_some(); @@ -837,6 +859,8 @@ impl<'a> KdlLayoutParser<'a> { let borderless = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "borderless"); let children_are_stacked = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked"); + let is_expanded_in_stack = + kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded"); let split_size = self.parse_split_size(kdl_node)?; let split_direction = kdl_get_string_property_or_child_value_with_error!(kdl_node, "split_direction"); @@ -852,6 +876,7 @@ impl<'a> KdlLayoutParser<'a> { || split_size.is_some() || split_direction.is_some() || children_are_stacked.is_some() + || is_expanded_in_stack.is_some() || has_children_nodes; let has_floating_pane_properties = height.is_some() || width.is_some() || x.is_some() || y.is_some(); @@ -864,6 +889,9 @@ impl<'a> KdlLayoutParser<'a> { if children_are_stacked.is_some() { pane_properties.push("stacked"); } + if is_expanded_in_stack.is_some() { + pane_properties.push("expanded"); + } if split_size.is_some() { pane_properties.push("split_size"); } @@ -960,6 +988,9 @@ impl<'a> KdlLayoutParser<'a> { let children_are_stacked = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked") .unwrap_or(false); + let is_expanded_in_stack = + kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded") + .unwrap_or(false); let split_size = self.parse_split_size(kdl_node)?; let children_split_direction = self.parse_split_direction(kdl_node)?; let (external_children_index, pane_parts) = match kdl_children_nodes!(kdl_node) { @@ -981,6 +1012,7 @@ impl<'a> KdlLayoutParser<'a> { external_children_index, children: pane_parts, children_are_stacked, + is_expanded_in_stack, ..Default::default() }), kdl_node.clone(), diff --git a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__cli_arguments_override_layout_options-2.snap b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__cli_arguments_override_layout_options-2.snap index 2b284c4a..830365bd 100644 --- a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__cli_arguments_override_layout_options-2.snap +++ b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__cli_arguments_override_layout_options-2.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/setup.rs -assertion_line: 626 +assertion_line: 665 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -18,6 +18,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), diff --git a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-2.snap b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-2.snap index f53ecc5e..cebcb3a4 100644 --- a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-2.snap +++ b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-2.snap @@ -37,6 +37,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -48,6 +49,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -74,6 +76,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -82,6 +85,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ), @@ -121,6 +125,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -140,6 +145,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -153,6 +159,7 @@ Layout { 0, ), children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -161,6 +168,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -169,6 +177,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -195,6 +204,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -203,6 +213,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, MaxPanes( 8, @@ -235,6 +246,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -256,6 +268,7 @@ Layout { 0, ), children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -271,6 +284,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -282,6 +296,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -293,6 +308,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -304,6 +320,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -312,6 +329,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -320,6 +338,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -328,6 +347,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -354,6 +374,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -362,6 +383,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, MaxPanes( 12, @@ -394,6 +416,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -415,6 +438,7 @@ Layout { 0, ), children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -430,6 +454,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -441,6 +466,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -452,6 +478,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -463,6 +490,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -471,6 +499,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -486,6 +515,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -497,6 +527,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -508,6 +539,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -519,6 +551,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -527,6 +560,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -535,6 +569,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -543,6 +578,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -569,6 +605,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -577,6 +614,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, }, Some( @@ -616,6 +654,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -631,6 +670,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -642,6 +682,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -650,6 +691,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -676,6 +718,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -684,6 +727,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, MaxPanes( 8, @@ -716,6 +760,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -737,6 +782,7 @@ Layout { 0, ), children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Vertical, @@ -752,6 +798,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -763,6 +810,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -774,6 +822,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -785,6 +834,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -793,6 +843,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -801,6 +852,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -809,6 +861,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -835,6 +888,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -843,6 +897,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, MaxPanes( 12, @@ -875,6 +930,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -896,6 +952,7 @@ Layout { 0, ), children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Vertical, @@ -911,6 +968,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -922,6 +980,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -933,6 +992,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -944,6 +1004,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -952,6 +1013,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Vertical, @@ -967,6 +1029,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -978,6 +1041,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -989,6 +1053,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -1000,6 +1065,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -1008,6 +1074,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -1016,6 +1083,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -1024,6 +1092,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -1050,6 +1119,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -1058,6 +1128,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, }, Some( @@ -1097,6 +1168,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -1116,6 +1188,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -1129,6 +1202,7 @@ Layout { 0, ), children_are_stacked: true, + is_expanded_in_stack: false, }, ], split_size: None, @@ -1137,6 +1211,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -1145,6 +1220,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, TiledPaneLayout { children_split_direction: Horizontal, @@ -1171,6 +1247,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, ], split_size: None, @@ -1179,6 +1256,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, }, Some( diff --git a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__layout_options_override_config_options-2.snap b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__layout_options_override_config_options-2.snap index 790df2f6..b4a7ed0c 100644 --- a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__layout_options_override_config_options-2.snap +++ b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__layout_options_override_config_options-2.snap @@ -1,6 +1,6 @@ --- source: zellij-utils/src/setup.rs -assertion_line: 608 +assertion_line: 647 expression: "format!(\"{:#?}\", layout)" --- Layout { @@ -18,6 +18,7 @@ Layout { focus: None, external_children_index: None, children_are_stacked: false, + is_expanded_in_stack: false, }, [], ),