Merge f75e6bb4a6
into ae5fed41ed
This commit is contained in:
commit
01b837d239
|
@ -42,14 +42,38 @@ impl Command for ToNuon {
|
||||||
call: &Call,
|
call: &Call,
|
||||||
input: PipelineData,
|
input: PipelineData,
|
||||||
) -> Result<PipelineData, ShellError> {
|
) -> Result<PipelineData, ShellError> {
|
||||||
let style = if call.has_flag(engine_state, stack, "raw")? {
|
let raw_flag = call.has_flag(engine_state, stack, "raw")?;
|
||||||
nuon::ToStyle::Raw
|
let tabs_flag = call.get_flag(engine_state, stack, "tabs")?;
|
||||||
} else if let Some(t) = call.get_flag(engine_state, stack, "tabs")? {
|
let indent_flag = call.get_flag(engine_state, stack, "indent")?;
|
||||||
nuon::ToStyle::Tabs(t)
|
let style = match (raw_flag, tabs_flag, indent_flag) {
|
||||||
} else if let Some(i) = call.get_flag(engine_state, stack, "indent")? {
|
(true, None, None) => nuon::ToStyle::Raw,
|
||||||
nuon::ToStyle::Spaces(i)
|
(false, None, None) => nuon::ToStyle::Raw,
|
||||||
} else {
|
(false, None, Some(indent)) => nuon::ToStyle::Spaces(indent),
|
||||||
nuon::ToStyle::Raw
|
(false, Some(n_tabs), None) => nuon::ToStyle::Tabs(n_tabs),
|
||||||
|
(true, None, Some(_)) => {
|
||||||
|
return Err(ShellError::IncompatibleParameters {
|
||||||
|
left_message: "can't use `--indent` at the same time".into(),
|
||||||
|
left_span: call.get_named_arg("indent").expect("has flag").span,
|
||||||
|
right_message: "because of `--raw`".into(),
|
||||||
|
right_span: call.get_named_arg("raw").expect("has flag").span,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
(true, Some(_), _) => {
|
||||||
|
return Err(ShellError::IncompatibleParameters {
|
||||||
|
left_message: "can't use `--tabs` at the same time".into(),
|
||||||
|
left_span: call.get_named_arg("tabs").expect("has flag").span,
|
||||||
|
right_message: "because of `--raw`".into(),
|
||||||
|
right_span: call.get_named_arg("raw").expect("has flag").span,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
(false, Some(_), Some(_)) => {
|
||||||
|
return Err(ShellError::IncompatibleParameters {
|
||||||
|
left_message: "can't use `--indent` at the same time".into(),
|
||||||
|
left_span: call.get_named_arg("indent").expect("has flag").span,
|
||||||
|
right_message: "because of `--tabs`".into(),
|
||||||
|
right_span: call.get_named_arg("tabs").expect("has flag").span,
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
let span = call.head;
|
let span = call.head;
|
||||||
|
@ -84,11 +108,6 @@ impl Command for ToNuon {
|
||||||
example: "[1 2 3] | to nuon --indent 2",
|
example: "[1 2 3] | to nuon --indent 2",
|
||||||
result: Some(Value::test_string("[\n 1,\n 2,\n 3\n]")),
|
result: Some(Value::test_string("[\n 1,\n 2,\n 3\n]")),
|
||||||
},
|
},
|
||||||
Example {
|
|
||||||
description: "Overwrite any set option with --raw",
|
|
||||||
example: "[1 2 3] | to nuon --indent 2 --raw",
|
|
||||||
result: Some(Value::test_string("[1, 2, 3]"))
|
|
||||||
},
|
|
||||||
Example {
|
Example {
|
||||||
description: "A more complex record with multiple data types",
|
description: "A more complex record with multiple data types",
|
||||||
example: "{date: 2000-01-01, data: [1 [2 3] 4.56]} | to nuon --indent 2",
|
example: "{date: 2000-01-01, data: [1 [2 3] 4.56]} | to nuon --indent 2",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user