for - remove deprecated --numbered (#13239)

# Description

Complete the `--numbered` removal that was started with the deprecation
in #13112.

# User-Facing Changes

Breaking change - Use `| enumerate` in place of `--numbered` as shown in
the help example

# Tests + Formatting

- 🟢 `toolkit fmt`
- 🟢 `toolkit clippy`
- 🟢 `toolkit test`
- 🟢 `toolkit test stdlib`

# After Submitting

Searched online doc for `--numbered` to ensure no other usage needed to
be updated.
This commit is contained in:
NotTheDr01ds 2024-07-03 08:55:41 -04:00 committed by GitHub
parent ba1d900020
commit ca7a2ae1d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,6 +1,5 @@
use nu_engine::{command_prelude::*, get_eval_block, get_eval_expression}; use nu_engine::{command_prelude::*, get_eval_block, get_eval_expression};
use nu_protocol::engine::CommandType; use nu_protocol::engine::CommandType;
use nu_protocol::ParseWarning;
#[derive(Clone)] #[derive(Clone)]
pub struct For; pub struct For;
@ -29,11 +28,6 @@ impl Command for For {
"Range of the loop.", "Range of the loop.",
) )
.required("block", SyntaxShape::Block, "The block to run.") .required("block", SyntaxShape::Block, "The block to run.")
.switch(
"numbered",
"DEPRECATED: return a numbered item ($it.index and $it.item)",
Some('n'),
)
.creates_scope() .creates_scope()
.category(Category::Core) .category(Category::Core)
} }
@ -78,22 +72,6 @@ impl Command for For {
let value = eval_expression(engine_state, stack, keyword_expr)?; let value = eval_expression(engine_state, stack, keyword_expr)?;
let numbered = call.has_flag(engine_state, stack, "numbered")?;
if numbered {
nu_protocol::report_error_new(
engine_state,
&ParseWarning::DeprecatedWarning {
old_command: "--numbered/-n".into(),
new_suggestion: "use `enumerate`".into(),
span: call
.get_named_arg("numbered")
.expect("`get_named_arg` found `--numbered` but still failed")
.span,
url: "See `help for` examples".into(),
},
);
}
let ctrlc = engine_state.ctrlc.clone(); let ctrlc = engine_state.ctrlc.clone();
let engine_state = engine_state.clone(); let engine_state = engine_state.clone();
let block = engine_state.get_block(block_id); let block = engine_state.get_block(block_id);
@ -103,7 +81,7 @@ impl Command for For {
let span = value.span(); let span = value.span();
match value { match value {
Value::List { vals, .. } => { Value::List { vals, .. } => {
for (idx, x) in vals.into_iter().enumerate() { for x in vals.into_iter() {
if nu_utils::ctrl_c::was_pressed(&ctrlc) { if nu_utils::ctrl_c::was_pressed(&ctrlc) {
break; break;
} }
@ -112,20 +90,7 @@ impl Command for For {
// a different set of environment variables. // a different set of environment variables.
// Hence, a 'cd' in the first loop won't affect the next loop. // Hence, a 'cd' in the first loop won't affect the next loop.
stack.add_var( stack.add_var(var_id, x);
var_id,
if numbered {
Value::record(
record! {
"index" => Value::int(idx as i64, head),
"item" => x,
},
head,
)
} else {
x
},
);
match eval_block(&engine_state, stack, block, PipelineData::empty()) { match eval_block(&engine_state, stack, block, PipelineData::empty()) {
Err(ShellError::Break { .. }) => { Err(ShellError::Break { .. }) => {
@ -151,21 +116,8 @@ impl Command for For {
} }
} }
Value::Range { val, .. } => { Value::Range { val, .. } => {
for (idx, x) in val.into_range_iter(span, ctrlc).enumerate() { for x in val.into_range_iter(span, ctrlc) {
stack.add_var( stack.add_var(var_id, x);
var_id,
if numbered {
Value::record(
record! {
"index" => Value::int(idx as i64, head),
"item" => x,
},
head,
)
} else {
x
},
);
match eval_block(&engine_state, stack, block, PipelineData::empty()) { match eval_block(&engine_state, stack, block, PipelineData::empty()) {
Err(ShellError::Break { .. }) => { Err(ShellError::Break { .. }) => {