nushell/crates
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
..
nu-cli Fix single quote environment values (#4960) 2022-03-26 09:14:48 +13:00
nu-color-config Add licenses (#4893) 2022-03-23 09:25:38 +13:00
nu-command Support binary data to stdin of run-external (#4984) 2022-03-27 15:35:59 +13:00
nu-engine Add parser keyword note to help and $nu.scope (#4978) 2022-03-26 21:22:45 +02:00
nu-glob Termux/Android target support for v0.60.0 (#4956) 2022-03-27 07:21:19 +13:00
nu-json align all of the serde_json crates to the same version (#4949) 2022-03-25 18:54:49 +13:00
nu-parser Improve escaping in string interpolation (#4982) 2022-03-27 12:52:09 +13:00
nu-path Don't include trailing separator when expanding tilde (#4974) 2022-03-27 06:28:31 +13:00
nu-plugin CantConvert improvements (#4926) 2022-03-24 07:04:31 -05:00
nu-pretty-hex Bump to 0.60 (#4892) 2022-03-23 07:32:03 +13:00
nu-protocol Add parser keyword note to help and $nu.scope (#4978) 2022-03-26 21:22:45 +02:00
nu-system Termux/Android target support for v0.60.0 (#4956) 2022-03-27 07:21:19 +13:00
nu-table Bump to 0.60 (#4892) 2022-03-23 07:32:03 +13:00
nu-term-grid Bump to 0.60 (#4892) 2022-03-23 07:32:03 +13:00
nu-test-support Bump to 0.60 (#4892) 2022-03-23 07:32:03 +13:00
nu-utils Bump to 0.60 (#4892) 2022-03-23 07:32:03 +13:00
nu_plugin_example Bump to 0.60 (#4892) 2022-03-23 07:32:03 +13:00
nu_plugin_gstat Bump to 0.60 (#4892) 2022-03-23 07:32:03 +13:00
nu_plugin_inc Bump to 0.60 (#4892) 2022-03-23 07:32:03 +13:00
nu_plugin_python name change (#526) 2021-12-19 10:00:31 +00:00
nu_plugin_query Bump to 0.60 (#4892) 2022-03-23 07:32:03 +13:00
old Bump to 0.60 (#4892) 2022-03-23 07:32:03 +13:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00

Nushell core libraries and plugins

These sub-crates form both the foundation for Nu and a set of plugins which extend Nu with additional functionality.

Foundational libraries are split into two kinds of crates:

  • Core crates - those crates that work together to build the Nushell language engine
  • Support crates - a set of crates that support the engine with additional features like JSON support, ANSI support, and more.

Plugins are likewise also split into two types:

  • Core plugins - plugins that provide part of the default experience of Nu, including access to the system properties, processes, and web-connectivity features.
  • Extra plugins - these plugins run a wide range of different capabilities like working with different file types, charting, viewing binary data, and more.