forked from extern/nushell
Remove environment variable hiding from hide
(#7687)
This commit is contained in:
parent
52cb865c5c
commit
86707b9972
@ -1,8 +1,6 @@
|
|||||||
use nu_protocol::ast::{Call, Expr, Expression};
|
use nu_protocol::ast::Call;
|
||||||
use nu_protocol::engine::{Command, EngineState, Stack};
|
use nu_protocol::engine::{Command, EngineState, Stack};
|
||||||
use nu_protocol::{
|
use nu_protocol::{Category, Example, PipelineData, Signature, SyntaxShape, Type};
|
||||||
Category, Example, PipelineData, ShellError, Signature, Spanned, SyntaxShape, Type, Value,
|
|
||||||
};
|
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct Hide;
|
pub struct Hide;
|
||||||
@ -41,32 +39,11 @@ This command is a parser keyword. For details, check:
|
|||||||
|
|
||||||
fn run(
|
fn run(
|
||||||
&self,
|
&self,
|
||||||
engine_state: &EngineState,
|
_engine_state: &EngineState,
|
||||||
stack: &mut Stack,
|
_stack: &mut Stack,
|
||||||
call: &Call,
|
_call: &Call,
|
||||||
_input: PipelineData,
|
_input: PipelineData,
|
||||||
) -> Result<nu_protocol::PipelineData, nu_protocol::ShellError> {
|
) -> Result<nu_protocol::PipelineData, nu_protocol::ShellError> {
|
||||||
let env_var_name = if let Some(Expression {
|
|
||||||
expr: Expr::ImportPattern(pat),
|
|
||||||
..
|
|
||||||
}) = call.parser_info_nth(0)
|
|
||||||
{
|
|
||||||
Spanned {
|
|
||||||
item: String::from_utf8_lossy(&pat.head.name).to_string(),
|
|
||||||
span: pat.head.span,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return Err(ShellError::GenericError(
|
|
||||||
"Unexpected import".into(),
|
|
||||||
"import pattern not supported".into(),
|
|
||||||
Some(call.head),
|
|
||||||
None,
|
|
||||||
Vec::new(),
|
|
||||||
));
|
|
||||||
};
|
|
||||||
|
|
||||||
stack.remove_env_var(engine_state, &env_var_name.item);
|
|
||||||
|
|
||||||
Ok(PipelineData::empty())
|
Ok(PipelineData::empty())
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,11 +59,6 @@ This command is a parser keyword. For details, check:
|
|||||||
example: r#"def say-hi [] { echo 'Hi!' }; hide say-hi"#,
|
example: r#"def say-hi [] { echo 'Hi!' }; hide say-hi"#,
|
||||||
result: None,
|
result: None,
|
||||||
},
|
},
|
||||||
Example {
|
|
||||||
description: "Hide an environment variable",
|
|
||||||
example: r#"let-env HZ_ENV_ABC = 1; hide HZ_ENV_ABC; 'HZ_ENV_ABC' in (env).name"#,
|
|
||||||
result: Some(Value::test_bool(false)),
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user