nushell/crates/nu-command/src
Antoine Stevan a1f989caf9
change the output of which to be more explicit (#9646)
related to
- https://github.com/nushell/nushell/issues/9637#issuecomment-1629387548

# Description
this PR changes the output of `which` from `table<arg: string, path:
string, built-in: bool> (stream)` to `table<command: string, path:
string, type: string> (stream)`.
- `command`: same as `arg` but more explicit name
- `path`: same as before, `null` when built-in
- `type`: instead of `buil-in: bool` says if it's a `built-in` a
`custom` command, an `alias` or an `external`

# User-Facing Changes
the output of `which` has changed

## some examples
```nushell
> which open
╭───┬─────────┬──────┬──────────╮
│ # │ command │ path │   type   │
├───┼─────────┼──────┼──────────┤
│ 0 │ open    │      │ built-in │
╰───┴─────────┴──────┴──────────╯
```
```nushell
> alias foo = print "foo"
> which foo
╭───┬─────────┬──────┬───────╮
│ # │ command │ path │ type  │
├───┼─────────┼──────┼───────┤
│ 0 │ foo     │      │ alias │
╰───┴─────────┴──────┴───────╯
```
```nushell
> def bar [] {}
> which bar
╭───┬─────────┬──────┬────────╮
│ # │ command │ path │  type  │
├───┼─────────┼──────┼────────┤
│ 0 │ bar     │      │ custom │
╰───┴─────────┴──────┴────────╯
```
```nushell
> which git
╭───┬─────────┬──────────────┬──────────╮
│ # │ command │     path     │   type   │
├───┼─────────┼──────────────┼──────────┤
│ 0 │ git     │ /usr/bin/git │ external │
╰───┴─────────┴──────────────┴──────────╯
```
```nushell
> which open git foo bar
╭───┬─────────┬──────────────┬──────────╮
│ # │ command │     path     │   type   │
├───┼─────────┼──────────────┼──────────┤
│ 0 │ open    │              │ built-in │
│ 1 │ git     │ /usr/bin/git │ external │
│ 2 │ foo     │              │ alias    │
│ 3 │ bar     │              │ custom   │
╰───┴─────────┴──────────────┴──────────╯
```

# Tests + Formatting
- 🟢 `toolkit fmt`
- 🟢 `toolkit clippy`
-  `toolkit test`
-  `toolkit test stdlib`

# After Submitting
mention that in the release note
2023-07-20 19:10:53 -05:00
..
charting revert: move to ahash (#9464) 2023-06-18 15:27:57 +12:00
conversions allow into filesize to take tables as input / output (#9706) 2023-07-16 08:04:35 -05:00
database handle sqlite tables better by surrounding with brackets (#9752) 2023-07-20 11:20:56 -05:00
date Update some help examples (#8759) 2023-04-05 18:36:00 -05:00
debug add any -> record to metadata (#9755) 2023-07-21 07:11:20 +12:00
deprecated fix typo in deprecated message: $nu should be $env (#9579) 2023-07-01 17:55:25 +02:00
env Input output checking (#9680) 2023-07-14 15:20:35 +12:00
experimental Remove is-root crate (#9615) 2023-07-18 15:36:54 +02:00
filesystem fix removing symlinks on windows (#9704) 2023-07-20 20:16:03 +02:00
filters add range input to par-each (#9749) 2023-07-20 06:48:18 -05:00
formats Apply nightly clippy lints (#9654) 2023-07-12 00:00:31 +02:00
generators Document and critically review ShellError variants - Ep. 2 (#8326) 2023-03-06 11:31:07 +01:00
hash move common tools from nu-command to nu-cmd-base (#9455) 2023-06-22 14:45:54 -07:00
help Apply nightly clippy lints (#9654) 2023-07-12 00:00:31 +02:00
math Input output checking (#9680) 2023-07-14 15:20:35 +12:00
misc REFACTOR: move source out of deprecated commands (#9060) 2023-05-04 00:02:03 +02:00
network Input output checking (#9680) 2023-07-14 15:20:35 +12:00
path Refactor path commands (#9687) 2023-07-15 00:04:22 +03:00
platform Input output checking (#9680) 2023-07-14 15:20:35 +12:00
random Document and critically review ShellError variants - Ep. 3 (#8340) 2023-03-06 18:33:09 +01:00
shells Fix usage for the exit command. (#9450) 2023-06-16 10:09:02 +02:00
strings str-expand: new capability, empty collection item (#9750) 2023-07-20 18:51:25 -05:00
system change the output of which to be more explicit (#9646) 2023-07-20 19:10:53 -05:00
viewers Use is-terminal crate for now (#9670) 2023-07-12 18:15:54 +02:00
default_context.rs cratification: part III of the math commands to nu-cmd-extra (#9674) 2023-07-13 09:11:26 -07:00
example_test.rs cratification: part III of the math commands to nu-cmd-extra (#9674) 2023-07-13 09:11:26 -07:00
hook.rs cratification: move the bytes command to nu-cmd-extra (#9509) 2023-06-23 12:23:08 -07:00
lib.rs cratification: move the bytes command to nu-cmd-extra (#9509) 2023-06-23 12:23:08 -07:00
progress_bar.rs cp progress bar implementation (#8012) 2023-02-22 11:57:38 -08:00
sort_utils.rs Support passing an empty list to sort, uniq, sort-by, and uniq-by (issue #5957) (#8669) 2023-03-29 19:55:38 -07:00