nushell/crates/nu-command/src/debug
pwygab 88ff622b16
Make view source more robust (#12359)
<!--
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.
-->

Resolves #11800.

```
~/CodingProjects/nushell> def "url expand" [$urls:any = []]: [string -> string, list -> table] {    
:::   let urls = ($in | default $urls)
:::   def expand-link [] {
:::     http head --redirect-mode manual $in | where name == location | get value.0
:::   }
:::   match ($urls | describe) {
:::     string => { $urls | expand-link }
:::     $type if ($type =~ list) => { $urls | wrap link | insert expanded {|url| $url.link | expand-link}}
:::   }
::: }; view source "url expand"
def "url expand" [ $urls: any = [] ]: [string -> string, list<any> -> table] {
  let urls = ($in | default $urls)
  def expand-link [] {
    http head --redirect-mode manual $in | where name == location | get value.0
  }
  match ($urls | describe) {
    string => { $urls | expand-link }
    $type if ($type =~ list) => { $urls | wrap link | insert expanded {|url| $url.link | expand-link}}
  }
}
```

# User-Facing Changes
<!-- List of all changes that impact the user experience here. This
helps us keep track of breaking changes. -->

`view source` now 
- adds quotes to commands with spaces
- shows default argument values
- shows type signatures

# 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 std testing; testing run-tests --path
crates/nu-std"` 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.
-->
2024-04-05 20:28:15 -05:00
..
ast.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
debug_.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
explain.rs Rename Value::CustomValue to Value::Custom (#12309) 2024-03-27 22:10:56 +01:00
info.rs Use safe nix API instead of libc (#12315) 2024-03-30 14:49:54 +01:00
inspect_table.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
inspect.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
metadata.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
mod.rs Debugger experiments (#11441) 2024-03-08 20:21:35 +02:00
profile.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
timeit.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
view_files.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
view_source.rs Make view source more robust (#12359) 2024-04-05 20:28:15 -05:00
view_span.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
view.rs Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00