diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/as_date.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/as_date.rs index eb9c056309..8a0a88265c 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/as_date.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/as_date.rs @@ -182,6 +182,20 @@ impl PluginCommand for AsDate { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl AsDate { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/as_datetime.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/as_datetime.rs index c06a349496..71e43952ae 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/as_datetime.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/as_datetime.rs @@ -247,6 +247,20 @@ impl PluginCommand for AsDateTime { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl AsDateTime { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/convert_time_zone.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/convert_time_zone.rs index 3572578b42..41f3b0405b 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/convert_time_zone.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/convert_time_zone.rs @@ -136,6 +136,20 @@ impl PluginCommand for ConvertTimeZone { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl ConvertTimeZone { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/datepart.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/datepart.rs index 1e18639d06..75da193787 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/datepart.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/datepart.rs @@ -130,6 +130,20 @@ impl PluginCommand for ExprDatePart { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl ExprDatePart { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let part: Spanned = call.req(0)?; diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_day.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_day.rs index cc5466a200..c6b641bd1d 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_day.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_day.rs @@ -83,6 +83,20 @@ impl PluginCommand for GetDay { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl GetDay { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_hour.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_hour.rs index 44db47acc5..84d82cbefc 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_hour.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_hour.rs @@ -99,6 +99,20 @@ impl PluginCommand for GetHour { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl GetHour { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_minute.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_minute.rs index f52b0b5033..7dfae84e89 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_minute.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_minute.rs @@ -83,6 +83,20 @@ impl PluginCommand for GetMinute { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl GetMinute { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_month.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_month.rs index d52d281148..7ddfbd71cc 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_month.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_month.rs @@ -83,6 +83,20 @@ impl PluginCommand for GetMonth { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl GetMonth { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_nanosecond.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_nanosecond.rs index 8db9cf30ee..415c198232 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_nanosecond.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_nanosecond.rs @@ -83,6 +83,20 @@ impl PluginCommand for GetNanosecond { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl GetNanosecond { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_ordinal.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_ordinal.rs index c49b3c74fc..fad93c5749 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_ordinal.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_ordinal.rs @@ -83,6 +83,20 @@ impl PluginCommand for GetOrdinal { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl GetOrdinal { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_second.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_second.rs index 4ffa7e7da1..684eafaba5 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_second.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_second.rs @@ -83,6 +83,20 @@ impl PluginCommand for GetSecond { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl GetSecond { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_week.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_week.rs index 3d3802d9a0..9863a1d871 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_week.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_week.rs @@ -83,6 +83,20 @@ impl PluginCommand for GetWeek { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl GetWeek { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_weekday.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_weekday.rs index 73c2348a4e..0335bc2c22 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_weekday.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_weekday.rs @@ -83,6 +83,20 @@ impl PluginCommand for GetWeekDay { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl GetWeekDay { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_year.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_year.rs index 16205bbbf9..5cfb7a89ef 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/get_year.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/get_year.rs @@ -83,6 +83,20 @@ impl PluginCommand for GetYear { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl GetYear { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/replace_time_zone.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/replace_time_zone.rs index 03af97e7e5..e3d9cefdd7 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/replace_time_zone.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/replace_time_zone.rs @@ -215,6 +215,20 @@ impl PluginCommand for ReplaceTimeZone { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl ReplaceTimeZone { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/strftime.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/strftime.rs index ed48b9b905..798d4c4784 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/strftime.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/strftime.rs @@ -93,6 +93,20 @@ impl PluginCommand for StrFTime { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl StrFTime { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/datetime/truncate.rs b/crates/nu_plugin_polars/src/dataframe/command/datetime/truncate.rs index 96c47d4129..7e9281f148 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/datetime/truncate.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/datetime/truncate.rs @@ -149,6 +149,20 @@ impl PluginCommand for Truncate { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl Truncate { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { command(plugin, engine, call, input).map_err(LabeledError::from) } diff --git a/crates/nu_plugin_polars/src/dataframe/command/integer/to_decimal.rs b/crates/nu_plugin_polars/src/dataframe/command/integer/to_decimal.rs index 92469aa10b..e56b1c8150 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/integer/to_decimal.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/integer/to_decimal.rs @@ -71,6 +71,20 @@ impl PluginCommand for ToDecimal { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl ToDecimal { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/integer/to_integer.rs b/crates/nu_plugin_polars/src/dataframe/command/integer/to_integer.rs index 9d1df4aa00..804460e368 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/integer/to_integer.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/integer/to_integer.rs @@ -65,6 +65,20 @@ impl PluginCommand for ToInteger { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl ToInteger { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/list/contains.rs b/crates/nu_plugin_polars/src/dataframe/command/list/contains.rs index 16902541c8..4492e4c7c6 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/list/contains.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/list/contains.rs @@ -115,6 +115,20 @@ impl PluginCommand for ListContains { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl ListContains { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/string/concat_str.rs b/crates/nu_plugin_polars/src/dataframe/command/string/concat_str.rs index 3dd3e4f6ae..e6804bbbc8 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/string/concat_str.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/string/concat_str.rs @@ -84,6 +84,20 @@ impl PluginCommand for ExprConcatStr { plugin: &Self::Plugin, engine: &EngineInterface, call: &EvaluatedCall, + input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl ExprConcatStr { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, _input: PipelineData, ) -> Result { let separator: String = call.req(0)?; diff --git a/crates/nu_plugin_polars/src/dataframe/command/string/contains.rs b/crates/nu_plugin_polars/src/dataframe/command/string/contains.rs index 551f32a744..0049a58f79 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/string/contains.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/string/contains.rs @@ -99,6 +99,20 @@ impl PluginCommand for Contains { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl Contains { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/string/replace.rs b/crates/nu_plugin_polars/src/dataframe/command/string/replace.rs index 3eeaf4f43c..75332ffdcf 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/string/replace.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/string/replace.rs @@ -106,6 +106,20 @@ impl PluginCommand for Replace { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl Replace { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/string/replace_all.rs b/crates/nu_plugin_polars/src/dataframe/command/string/replace_all.rs index 25dfb24de2..b741266783 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/string/replace_all.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/string/replace_all.rs @@ -107,6 +107,20 @@ impl PluginCommand for ReplaceAll { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl ReplaceAll { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/string/str_join.rs b/crates/nu_plugin_polars/src/dataframe/command/string/str_join.rs index 120cfa3920..c148f1f1cf 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/string/str_join.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/string/str_join.rs @@ -92,6 +92,20 @@ impl PluginCommand for StrJoin { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl StrJoin { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/string/str_lengths.rs b/crates/nu_plugin_polars/src/dataframe/command/string/str_lengths.rs index 78d8030b06..fbdedb5288 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/string/str_lengths.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/string/str_lengths.rs @@ -88,6 +88,20 @@ impl PluginCommand for StrLengths { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl StrLengths { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/string/str_split.rs b/crates/nu_plugin_polars/src/dataframe/command/string/str_split.rs index 7452b4d9f8..0beae8d56e 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/string/str_split.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/string/str_split.rs @@ -58,6 +58,20 @@ impl PluginCommand for StrSplit { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl StrSplit { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let separator = call.req::>(0).and_then(|sep| { let sep_expr = NuExpression::try_from_value(plugin, &sep.item)?; diff --git a/crates/nu_plugin_polars/src/dataframe/command/string/str_strip_chars.rs b/crates/nu_plugin_polars/src/dataframe/command/string/str_strip_chars.rs index ed6a458a93..1a13bc7ab8 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/string/str_strip_chars.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/string/str_strip_chars.rs @@ -132,6 +132,20 @@ impl PluginCommand for StrStripChars { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl StrStripChars { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/string/to_lowercase.rs b/crates/nu_plugin_polars/src/dataframe/command/string/to_lowercase.rs index 042341cc9f..5fa88822ae 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/string/to_lowercase.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/string/to_lowercase.rs @@ -89,6 +89,20 @@ impl PluginCommand for ToLowerCase { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl ToLowerCase { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? { diff --git a/crates/nu_plugin_polars/src/dataframe/command/string/to_uppercase.rs b/crates/nu_plugin_polars/src/dataframe/command/string/to_uppercase.rs index 8b50542fc2..a2a1c337be 100644 --- a/crates/nu_plugin_polars/src/dataframe/command/string/to_uppercase.rs +++ b/crates/nu_plugin_polars/src/dataframe/command/string/to_uppercase.rs @@ -93,6 +93,20 @@ impl PluginCommand for ToUpperCase { engine: &EngineInterface, call: &EvaluatedCall, input: PipelineData, + ) -> Result { + let metadata = input.metadata(); + self.run_inner(plugin, engine, call, input) + .map(|pd| pd.set_metadata(metadata)) + } +} + +impl ToUpperCase { + fn run_inner( + &self, + plugin: &PolarsPlugin, + engine: &EngineInterface, + call: &EvaluatedCall, + input: PipelineData, ) -> Result { let value = input.into_value(call.head)?; match PolarsPluginObject::try_from_value(plugin, &value)? {