forked from extern/nushell
Add expansion to from-* for lists
This commit is contained in:
parent
cd1e16d574
commit
bb794dcfec
@ -97,7 +97,14 @@ fn from_csv(args: CommandArgs, registry: &CommandRegistry) -> Result<OutputStrea
|
|||||||
}
|
}
|
||||||
|
|
||||||
match from_csv_string_to_value(concat_string, span) {
|
match from_csv_string_to_value(concat_string, span) {
|
||||||
Ok(x) => yield ReturnSuccess::value(x),
|
Ok(x) => match x {
|
||||||
|
Tagged { item: Value::List(list), .. } => {
|
||||||
|
for l in list {
|
||||||
|
yield ReturnSuccess::value(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
x => yield ReturnSuccess::value(x),
|
||||||
|
},
|
||||||
Err(_) => if let Some(last_tag) = latest_tag {
|
Err(_) => if let Some(last_tag) = latest_tag {
|
||||||
yield Err(ShellError::labeled_error_with_secondary(
|
yield Err(ShellError::labeled_error_with_secondary(
|
||||||
"Could not parse as CSV",
|
"Could not parse as CSV",
|
||||||
|
@ -89,7 +89,14 @@ fn from_ini(args: CommandArgs, registry: &CommandRegistry) -> Result<OutputStrea
|
|||||||
}
|
}
|
||||||
|
|
||||||
match from_ini_string_to_value(concat_string, span) {
|
match from_ini_string_to_value(concat_string, span) {
|
||||||
Ok(x) => yield ReturnSuccess::value(x),
|
Ok(x) => match x {
|
||||||
|
Tagged { item: Value::List(list), .. } => {
|
||||||
|
for l in list {
|
||||||
|
yield ReturnSuccess::value(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
x => yield ReturnSuccess::value(x),
|
||||||
|
},
|
||||||
Err(_) => if let Some(last_tag) = latest_tag {
|
Err(_) => if let Some(last_tag) = latest_tag {
|
||||||
yield Err(ShellError::labeled_error_with_secondary(
|
yield Err(ShellError::labeled_error_with_secondary(
|
||||||
"Could not parse as INI",
|
"Could not parse as INI",
|
||||||
|
@ -95,7 +95,15 @@ fn from_json(args: CommandArgs, registry: &CommandRegistry) -> Result<OutputStre
|
|||||||
}
|
}
|
||||||
|
|
||||||
match from_json_string_to_value(concat_string, span) {
|
match from_json_string_to_value(concat_string, span) {
|
||||||
Ok(x) => yield ReturnSuccess::value(x),
|
Ok(x) =>
|
||||||
|
match x {
|
||||||
|
Tagged { item: Value::List(list), .. } => {
|
||||||
|
for l in list {
|
||||||
|
yield ReturnSuccess::value(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
x => yield ReturnSuccess::value(x),
|
||||||
|
}
|
||||||
Err(_) => if let Some(last_tag) = latest_tag {
|
Err(_) => if let Some(last_tag) = latest_tag {
|
||||||
yield Err(ShellError::labeled_error_with_secondary(
|
yield Err(ShellError::labeled_error_with_secondary(
|
||||||
"Could not parse as JSON",
|
"Could not parse as JSON",
|
||||||
|
@ -94,7 +94,14 @@ pub fn from_toml(
|
|||||||
}
|
}
|
||||||
|
|
||||||
match from_toml_string_to_value(concat_string, span) {
|
match from_toml_string_to_value(concat_string, span) {
|
||||||
Ok(x) => yield ReturnSuccess::value(x),
|
Ok(x) => match x {
|
||||||
|
Tagged { item: Value::List(list), .. } => {
|
||||||
|
for l in list {
|
||||||
|
yield ReturnSuccess::value(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
x => yield ReturnSuccess::value(x),
|
||||||
|
},
|
||||||
Err(_) => if let Some(last_tag) = latest_tag {
|
Err(_) => if let Some(last_tag) = latest_tag {
|
||||||
yield Err(ShellError::labeled_error_with_secondary(
|
yield Err(ShellError::labeled_error_with_secondary(
|
||||||
"Could not parse as TOML",
|
"Could not parse as TOML",
|
||||||
|
@ -108,7 +108,14 @@ fn from_xml(args: CommandArgs, registry: &CommandRegistry) -> Result<OutputStrea
|
|||||||
}
|
}
|
||||||
|
|
||||||
match from_xml_string_to_value(concat_string, span) {
|
match from_xml_string_to_value(concat_string, span) {
|
||||||
Ok(x) => yield ReturnSuccess::value(x),
|
Ok(x) => match x {
|
||||||
|
Tagged { item: Value::List(list), .. } => {
|
||||||
|
for l in list {
|
||||||
|
yield ReturnSuccess::value(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
x => yield ReturnSuccess::value(x),
|
||||||
|
},
|
||||||
Err(_) => if let Some(last_tag) = latest_tag {
|
Err(_) => if let Some(last_tag) = latest_tag {
|
||||||
yield Err(ShellError::labeled_error_with_secondary(
|
yield Err(ShellError::labeled_error_with_secondary(
|
||||||
"Could not parse as XML",
|
"Could not parse as XML",
|
||||||
|
@ -99,7 +99,14 @@ fn from_yaml(args: CommandArgs, registry: &CommandRegistry) -> Result<OutputStre
|
|||||||
}
|
}
|
||||||
|
|
||||||
match from_yaml_string_to_value(concat_string, span) {
|
match from_yaml_string_to_value(concat_string, span) {
|
||||||
Ok(x) => yield ReturnSuccess::value(x),
|
Ok(x) => match x {
|
||||||
|
Tagged { item: Value::List(list), .. } => {
|
||||||
|
for l in list {
|
||||||
|
yield ReturnSuccess::value(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
x => yield ReturnSuccess::value(x),
|
||||||
|
},
|
||||||
Err(_) => if let Some(last_tag) = latest_tag {
|
Err(_) => if let Some(last_tag) = latest_tag {
|
||||||
yield Err(ShellError::labeled_error_with_secondary(
|
yield Err(ShellError::labeled_error_with_secondary(
|
||||||
"Could not parse as YAML",
|
"Could not parse as YAML",
|
||||||
|
Loading…
Reference in New Issue
Block a user