diff --git a/crates/nu-command/src/filters/roll/roll_down.rs b/crates/nu-command/src/filters/roll/roll_down.rs index da648064c5..0ea6f69fe9 100644 --- a/crates/nu-command/src/filters/roll/roll_down.rs +++ b/crates/nu-command/src/filters/roll/roll_down.rs @@ -62,10 +62,12 @@ impl Command for RollDown { input: PipelineData, ) -> Result { let by: Option = call.get_flag(engine_state, stack, "by")?; + let metadata = input.metadata(); + let value = input.into_value(call.head); let rotated_value = vertical_rotate_value(value, by, VerticalDirection::Down)?; - Ok(rotated_value.into_pipeline_data()) + Ok(rotated_value.into_pipeline_data().set_metadata(metadata)) } } diff --git a/crates/nu-command/src/filters/roll/roll_left.rs b/crates/nu-command/src/filters/roll/roll_left.rs index a891363c5a..94bbaa12aa 100644 --- a/crates/nu-command/src/filters/roll/roll_left.rs +++ b/crates/nu-command/src/filters/roll/roll_left.rs @@ -89,12 +89,14 @@ impl Command for RollLeft { input: PipelineData, ) -> Result { let by: Option = call.get_flag(engine_state, stack, "by")?; + let metadata = input.metadata(); + let cells_only = call.has_flag("cells-only"); let value = input.into_value(call.head); let rotated_value = horizontal_rotate_value(value, &by, cells_only, &HorizontalDirection::Left)?; - Ok(rotated_value.into_pipeline_data()) + Ok(rotated_value.into_pipeline_data().set_metadata(metadata)) } } diff --git a/crates/nu-command/src/filters/roll/roll_right.rs b/crates/nu-command/src/filters/roll/roll_right.rs index 63eba4b83a..384cfef707 100644 --- a/crates/nu-command/src/filters/roll/roll_right.rs +++ b/crates/nu-command/src/filters/roll/roll_right.rs @@ -89,12 +89,14 @@ impl Command for RollRight { input: PipelineData, ) -> Result { let by: Option = call.get_flag(engine_state, stack, "by")?; + let metadata = input.metadata(); + let cells_only = call.has_flag("cells-only"); let value = input.into_value(call.head); let rotated_value = horizontal_rotate_value(value, &by, cells_only, &HorizontalDirection::Right)?; - Ok(rotated_value.into_pipeline_data()) + Ok(rotated_value.into_pipeline_data().set_metadata(metadata)) } } diff --git a/crates/nu-command/src/filters/roll/roll_up.rs b/crates/nu-command/src/filters/roll/roll_up.rs index fac9cadcd2..f92923bd54 100644 --- a/crates/nu-command/src/filters/roll/roll_up.rs +++ b/crates/nu-command/src/filters/roll/roll_up.rs @@ -62,10 +62,12 @@ impl Command for RollUp { input: PipelineData, ) -> Result { let by: Option = call.get_flag(engine_state, stack, "by")?; + let metadata = input.metadata(); + let value = input.into_value(call.head); let rotated_value = vertical_rotate_value(value, by, VerticalDirection::Up)?; - Ok(rotated_value.into_pipeline_data()) + Ok(rotated_value.into_pipeline_data().set_metadata(metadata)) } }