mirror of
https://github.com/nushell/nushell.git
synced 2025-08-09 15:06:03 +02:00
This reverts commit 0cfd5fbece
.
The original PR messed up syntax higlighting of aliases and causes
panics of completion in the presence of alias.
<!--
if this PR closes one or more issues, you can automatically link the PR
with
them by using one of the [*linking
keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword),
e.g.
- this PR should close #xxxx
- fixes #xxxx
you can also mention related issues, PRs or discussions!
-->
# Description
<!--
Thank you for improving Nushell. Please, check our [contributing
guide](../CONTRIBUTING.md) and talk to the core team before making major
changes.
Description of your pull request goes here. **Provide examples and/or
screenshots** if your changes affect the user experience.
-->
# User-Facing Changes
<!-- List of all changes that impact the user experience here. This
helps us keep track of breaking changes. -->
# Tests + Formatting
<!--
Don't forget to add tests that cover your changes.
Make sure you've run and fixed any issues with these commands:
- `cargo fmt --all -- --check` to check standard code formatting (`cargo
fmt --all` applies these changes)
- `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to
check that you're using the standard code style
- `cargo test --workspace` to check that all tests pass (on Windows make
sure to [enable developer
mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging))
- `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the
tests for the standard library
> **Note**
> from `nushell` you can also use the `toolkit` as follows
> ```bash
> use toolkit.nu # or use an `env_change` hook to activate it
automatically
> toolkit check pr
> ```
-->
# After Submitting
<!-- If your PR had any user-facing changes, update [the
documentation](https://github.com/nushell/nushell.github.io) after the
PR is merged, if necessary. This will help us keep the docs up to date.
-->
This commit is contained in:
@ -113,7 +113,7 @@ impl CallExt for Call {
|
||||
let stack = &mut stack.use_call_arg_out_dest();
|
||||
let mut output = vec![];
|
||||
|
||||
for result in self.rest_iter_flattened(&engine_state, starting_pos, |expr| {
|
||||
for result in self.rest_iter_flattened(starting_pos, |expr| {
|
||||
eval_expression::<WithoutDebug>(engine_state, stack, expr)
|
||||
})? {
|
||||
output.push(FromValue::from_value(result)?);
|
||||
|
@ -48,7 +48,7 @@ fn nu_highlight_string(code_string: &str, engine_state: &EngineState, stack: &mu
|
||||
if let Ok(output) = decl.run(
|
||||
engine_state,
|
||||
stack,
|
||||
&Call::new(Span::unknown(), Span::unknown()),
|
||||
&Call::new(Span::unknown()),
|
||||
Value::string(code_string, Span::unknown()).into_pipeline_data(),
|
||||
) {
|
||||
let result = output.into_value(Span::unknown());
|
||||
@ -241,10 +241,7 @@ fn get_documentation(
|
||||
&Call {
|
||||
decl_id,
|
||||
head: span,
|
||||
arguments: Spanned {
|
||||
item: vec![],
|
||||
span: span.past(),
|
||||
},
|
||||
arguments: vec![],
|
||||
parser_info: HashMap::new(),
|
||||
},
|
||||
PipelineData::Value(Value::list(vals, span), None),
|
||||
@ -276,7 +273,7 @@ fn get_documentation(
|
||||
match decl.run(
|
||||
engine_state,
|
||||
stack,
|
||||
&Call::new(Span::unknown(), Span::unknown()),
|
||||
&Call::new(Span::unknown()),
|
||||
Value::string(example.example, Span::unknown()).into_pipeline_data(),
|
||||
) {
|
||||
Ok(output) => {
|
||||
@ -299,7 +296,7 @@ fn get_documentation(
|
||||
}
|
||||
|
||||
if let Some(result) = &example.result {
|
||||
let mut table_call = Call::new(Span::unknown(), Span::unknown());
|
||||
let mut table_call = Call::new(Span::unknown());
|
||||
if example.example.ends_with("--collapse") {
|
||||
// collapse the result
|
||||
table_call.add_named((
|
||||
@ -309,7 +306,6 @@ fn get_documentation(
|
||||
},
|
||||
None,
|
||||
None,
|
||||
UNKNOWN_SPAN_ID,
|
||||
))
|
||||
} else {
|
||||
// expand the result
|
||||
@ -320,7 +316,6 @@ fn get_documentation(
|
||||
},
|
||||
None,
|
||||
None,
|
||||
UNKNOWN_SPAN_ID,
|
||||
))
|
||||
}
|
||||
let table = engine_state
|
||||
@ -373,17 +368,13 @@ fn get_ansi_color_for_component_or_default(
|
||||
// Call ansi command using argument
|
||||
if let Some(argument) = argument_opt {
|
||||
if let Some(decl_id) = engine_state.find_decl(b"ansi", &[]) {
|
||||
let arg_span = argument.span(&engine_state);
|
||||
if let Ok(result) = eval_call::<WithoutDebug>(
|
||||
engine_state,
|
||||
caller_stack,
|
||||
&Call {
|
||||
decl_id,
|
||||
head: span,
|
||||
arguments: Spanned {
|
||||
item: vec![argument],
|
||||
span: arg_span,
|
||||
},
|
||||
arguments: vec![argument],
|
||||
parser_info: HashMap::new(),
|
||||
},
|
||||
PipelineData::Empty,
|
||||
|
@ -26,7 +26,7 @@ pub fn eval_call<D: DebugContext>(
|
||||
}
|
||||
let decl = engine_state.get_decl(call.decl_id);
|
||||
|
||||
if !decl.is_known_external() && call.named_iter().any(|(flag, _, _, _)| flag.item == "help") {
|
||||
if !decl.is_known_external() && call.named_iter().any(|(flag, _, _)| flag.item == "help") {
|
||||
let help = get_full_help(decl, engine_state, caller_stack);
|
||||
Ok(Value::string(help, call.head).into_pipeline_data())
|
||||
} else if let Some(block_id) = decl.block_id() {
|
||||
@ -100,7 +100,6 @@ pub fn eval_call<D: DebugContext>(
|
||||
let mut rest_items = vec![];
|
||||
|
||||
for result in call.rest_iter_flattened(
|
||||
&engine_state,
|
||||
decl.signature().required_positional.len()
|
||||
+ decl.signature().optional_positional.len(),
|
||||
|expr| eval_expression::<D>(engine_state, caller_stack, expr),
|
||||
@ -214,16 +213,8 @@ fn eval_external(
|
||||
})?;
|
||||
|
||||
let command = engine_state.get_decl(decl_id);
|
||||
let spans: Vec<Span> = args
|
||||
.iter()
|
||||
.map(|arg| match arg {
|
||||
ExternalArgument::Regular(expr) | ExternalArgument::Spread(expr) => {
|
||||
expr.span(&engine_state)
|
||||
}
|
||||
})
|
||||
.collect();
|
||||
|
||||
let mut call = Call::new(head.span(&engine_state), Span::concat(&spans));
|
||||
let mut call = Call::new(head.span(&engine_state));
|
||||
|
||||
call.add_positional(head.clone());
|
||||
|
||||
|
Reference in New Issue
Block a user