Finish removing profile command and related data (#10807)

This commit is contained in:
Jakub Žádník
2023-10-22 14:06:53 +03:00
committed by GitHub
parent a01ef85bda
commit a35ecb4837
10 changed files with 28 additions and 150 deletions

View File

@ -40,16 +40,14 @@ const LINE_ENDING_PATTERN: &[char] = &['\r', '\n'];
/// Nushell.
#[derive(Debug)]
pub enum PipelineData {
// Note: the PipelineMetadata is boxed everywhere because the DataSource::Profiling caused
// stack overflow on Windows CI when testing virtualenv
Value(Value, Option<Box<PipelineMetadata>>),
ListStream(ListStream, Option<Box<PipelineMetadata>>),
Value(Value, Option<PipelineMetadata>),
ListStream(ListStream, Option<PipelineMetadata>),
ExternalStream {
stdout: Option<RawStream>,
stderr: Option<RawStream>,
exit_code: Option<ListStream>,
span: Span,
metadata: Option<Box<PipelineMetadata>>,
metadata: Option<PipelineMetadata>,
trim_end_newline: bool,
},
Empty,
@ -64,11 +62,10 @@ pub struct PipelineMetadata {
pub enum DataSource {
Ls,
HtmlThemes,
Profiling(Vec<Value>),
}
impl PipelineData {
pub fn new_with_metadata(metadata: Option<Box<PipelineMetadata>>, span: Span) -> PipelineData {
pub fn new_with_metadata(metadata: Option<PipelineMetadata>, span: Span) -> PipelineData {
PipelineData::Value(Value::nothing(span), metadata)
}
@ -93,7 +90,7 @@ impl PipelineData {
PipelineData::Empty
}
pub fn metadata(&self) -> Option<Box<PipelineMetadata>> {
pub fn metadata(&self) -> Option<PipelineMetadata> {
match self {
PipelineData::ListStream(_, x) => x.clone(),
PipelineData::ExternalStream { metadata: x, .. } => x.clone(),
@ -102,7 +99,7 @@ impl PipelineData {
}
}
pub fn set_metadata(mut self, metadata: Option<Box<PipelineMetadata>>) -> Self {
pub fn set_metadata(mut self, metadata: Option<PipelineMetadata>) -> Self {
match &mut self {
PipelineData::ListStream(_, x) => *x = metadata,
PipelineData::ExternalStream { metadata: x, .. } => *x = metadata,
@ -354,7 +351,7 @@ impl PipelineData {
pub fn collect_string_strict(
self,
span: Span,
) -> Result<(String, Span, Option<Box<PipelineMetadata>>), ShellError> {
) -> Result<(String, Span, Option<PipelineMetadata>), ShellError> {
match self {
PipelineData::Empty => Ok((String::new(), span, None)),
PipelineData::Value(Value::String { val, .. }, metadata) => Ok((val, span, metadata)),
@ -926,7 +923,7 @@ pub trait IntoPipelineData {
fn into_pipeline_data_with_metadata(
self,
metadata: impl Into<Option<Box<PipelineMetadata>>>,
metadata: impl Into<Option<PipelineMetadata>>,
) -> PipelineData;
}
@ -940,7 +937,7 @@ where
fn into_pipeline_data_with_metadata(
self,
metadata: impl Into<Option<Box<PipelineMetadata>>>,
metadata: impl Into<Option<PipelineMetadata>>,
) -> PipelineData {
PipelineData::Value(self.into(), metadata.into())
}
@ -950,7 +947,7 @@ pub trait IntoInterruptiblePipelineData {
fn into_pipeline_data(self, ctrlc: Option<Arc<AtomicBool>>) -> PipelineData;
fn into_pipeline_data_with_metadata(
self,
metadata: impl Into<Option<Box<PipelineMetadata>>>,
metadata: impl Into<Option<PipelineMetadata>>,
ctrlc: Option<Arc<AtomicBool>>,
) -> PipelineData;
}
@ -973,7 +970,7 @@ where
fn into_pipeline_data_with_metadata(
self,
metadata: impl Into<Option<Box<PipelineMetadata>>>,
metadata: impl Into<Option<PipelineMetadata>>,
ctrlc: Option<Arc<AtomicBool>>,
) -> PipelineData {
PipelineData::ListStream(