feat(panes): allow defining an expanded stacked pane (#2343)

* feat(panes): allow defining an expanded stacked pane

* style(fmt): rustfmt
This commit is contained in:
Aram Drevekenin 2023-04-03 18:04:06 +02:00 committed by GitHub
parent 63d6711a8d
commit 3a428effed
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
56 changed files with 649 additions and 56 deletions

View file

@ -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<PaneId> {
// 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<ClientId> =
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 {

View file

@ -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<Vec<PaneId>> {
// 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<PaneId> {
let all_stacked_pane_positions = self.positions_in_stack(pane_id_in_stack).ok()?;

View file

@ -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<PaneId>,
expanded_stacked_pane_ids: Vec<PaneId>,
}
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<dyn Pane>) {
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,

View file

@ -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 ─────────────────────────────────────────────────┘

View file

@ -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);
}

View file

@ -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,
},
),
[],

View file

@ -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,
},
),
[],

View file

@ -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,
},
),
[],

View file

@ -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,
},
),
[],

View file

@ -394,6 +394,7 @@ pub struct TiledPaneLayout {
pub focus: Option<bool>,
pub external_children_index: Option<usize>,
pub children_are_stacked: bool,
pub is_expanded_in_stack: bool,
}
impl TiledPaneLayout {
@ -865,12 +866,15 @@ fn split_space(
) -> Result<Vec<(TiledPaneLayout, PaneGeom)>, &'static str> {
let mut pane_positions = Vec::new();
let sizes: Vec<Option<SplitSize>> = if layout.children_are_stacked {
let index_of_expanded_pane = layout.children.iter().position(|p| p.is_expanded_in_stack);
let mut sizes: Vec<Option<SplitSize>> = 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

View file

@ -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#"

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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: [],
}

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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(

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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,
},
[],
),

View file

@ -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(),

View file

@ -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,
},
[],
),

View file

@ -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(

View file

@ -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,
},
[],
),