mirror of
https://github.com/nushell/nushell.git
synced 2025-03-13 06:58:47 +01:00
Remove range
command after deprecation (#15038)
# Description Follow up to https://github.com/nushell/nushell/pull/14825 # User-Facing Changes `range` is gone for good. Use `slice` as a one-for-one replacement.
This commit is contained in:
parent
966cebec34
commit
03888b9d81
@ -70,7 +70,6 @@ pub fn add_shell_command_context(mut engine_state: EngineState) -> EngineState {
|
||||
ParEach,
|
||||
ChunkBy,
|
||||
Prepend,
|
||||
Range,
|
||||
Reduce,
|
||||
Reject,
|
||||
Rename,
|
||||
|
@ -31,7 +31,6 @@ mod merge;
|
||||
mod move_;
|
||||
mod par_each;
|
||||
mod prepend;
|
||||
mod range;
|
||||
mod reduce;
|
||||
mod reject;
|
||||
mod rename;
|
||||
@ -91,7 +90,6 @@ pub use merge::MergeDeep;
|
||||
pub use move_::Move;
|
||||
pub use par_each::ParEach;
|
||||
pub use prepend::Prepend;
|
||||
pub use range::Range;
|
||||
pub use reduce::Reduce;
|
||||
pub use reject::Reject;
|
||||
pub use rename::Rename;
|
||||
|
@ -1,90 +0,0 @@
|
||||
use nu_engine::command_prelude::*;
|
||||
use nu_protocol::{report_parse_warning, ParseWarning};
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Range;
|
||||
|
||||
impl Command for Range {
|
||||
fn name(&self) -> &str {
|
||||
"range"
|
||||
}
|
||||
|
||||
fn signature(&self) -> Signature {
|
||||
Signature::build("range")
|
||||
.input_output_types(vec![(
|
||||
Type::List(Box::new(Type::Any)),
|
||||
Type::List(Box::new(Type::Any)),
|
||||
)])
|
||||
.required("rows", SyntaxShape::Range, "Range of rows to return.")
|
||||
.category(Category::Deprecated)
|
||||
}
|
||||
|
||||
fn description(&self) -> &str {
|
||||
"Return only the selected rows."
|
||||
}
|
||||
|
||||
fn search_terms(&self) -> Vec<&str> {
|
||||
vec!["filter", "head", "tail", "slice"]
|
||||
}
|
||||
|
||||
fn examples(&self) -> Vec<Example> {
|
||||
vec![
|
||||
Example {
|
||||
example: "[0,1,2,3,4,5] | range 4..5",
|
||||
description: "Get the last 2 items",
|
||||
result: Some(Value::list(
|
||||
vec![Value::test_int(4), Value::test_int(5)],
|
||||
Span::test_data(),
|
||||
)),
|
||||
},
|
||||
Example {
|
||||
example: "[0,1,2,3,4,5] | range (-2)..",
|
||||
description: "Get the last 2 items",
|
||||
result: Some(Value::list(
|
||||
vec![Value::test_int(4), Value::test_int(5)],
|
||||
Span::test_data(),
|
||||
)),
|
||||
},
|
||||
Example {
|
||||
example: "[0,1,2,3,4,5] | range (-3)..-2",
|
||||
description: "Get the next to last 2 items",
|
||||
result: Some(Value::list(
|
||||
vec![Value::test_int(3), Value::test_int(4)],
|
||||
Span::test_data(),
|
||||
)),
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
fn run(
|
||||
&self,
|
||||
engine_state: &EngineState,
|
||||
stack: &mut Stack,
|
||||
call: &Call,
|
||||
input: PipelineData,
|
||||
) -> Result<PipelineData, ShellError> {
|
||||
let head = call.head;
|
||||
report_parse_warning(
|
||||
&StateWorkingSet::new(engine_state),
|
||||
&ParseWarning::DeprecatedWarning {
|
||||
old_command: "range".into(),
|
||||
new_suggestion: "use `slice`".into(),
|
||||
span: head,
|
||||
url: "`help slice`".into(),
|
||||
},
|
||||
);
|
||||
super::Slice::run(&super::Slice, engine_state, stack, call, input)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_examples() {
|
||||
use crate::test_examples;
|
||||
|
||||
test_examples(Range {})
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user