nushell/src
Andrew Barnes a64e0956cd
Support binary data to stdin of run-external (#4984)
* Add test for passing binary data through externals

This change adds an ignored test to confirm that binary data is passed
correctly between externals to be enabled in a later commit along with
the fix.

To assist in platform agnostic testing of binary data a couple of
additional testbins were added to allow testing on `Value::Binary` inside
`ExternalStream`.

* Support binary data to stdin of run-external

Prior to this change, any pipeline producing binary data (not detected
as string) then feed into an external would be ignored due to
run-external only supporting `Value::String` on stdin.

This change adds binary stdin support for externals allowing something
like this for example:

  〉^cat /dev/urandom | ^head -c 1MiB | ^pv -b | ignore
  1.00MiB

This would previously output `0.00 B [0.00 B/s]` due to the data not
being pushed to stdin at each stage.
2022-03-27 15:35:59 +13:00
..
tests Improve escaping in string interpolation (#4982) 2022-03-27 12:52:09 +13:00
config_files.rs Move repl loop and command/script execution to nu_cli (#4846) 2022-03-17 07:17:06 +13:00
logger.rs add --perf cli param (#4391) 2022-02-09 16:08:16 -06:00
main.rs Support binary data to stdin of run-external (#4984) 2022-03-27 15:35:59 +13:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
test_bins.rs Support binary data to stdin of run-external (#4984) 2022-03-27 15:35:59 +13:00
tests.rs Add initial nu-test-support port (#913) 2022-02-02 15:59:01 -05:00

Nushell REPL

This directory contains the main Nushell REPL (read eval print loop) as part of the CLI portion of Nushell, which creates the nu binary itself.

Current versions of the nu binary will use the Nu argument parsing logic to parse the commandline arguments passed to nu, leaving the logic here to be a thin layer around what the core libraries.