nushell/crates
Reilly Wood 22c50185b5
table: Check stream timeout on every item (#7509)
`table` handles slow `ListStream`s in a special way: every 100 items, it
checks whether 1 second has elapsed since the last table page, and if so
it outputs a new page with all the items in its buffer.

**I would like to remove the "every 100 items" condition and always
output whatever we have if a second has elapsed.** I think this will be
a better user experience for very slow streams.

As a motivating example, imagine tailing a log file and doing some
string parsing/projection on each line. The user will be really annoyed
if they have to wait for 100 lines to be written to the log before
seeing new results!

I did some quick performance measurements with Criterion, and the
elapsed-time check takes about 16ns on my machine (Linux, 12900k). I
think the performance impact of checking that for every item will be
negligible.
2022-12-21 14:28:27 -08:00
..
nu_plugin_custom_values Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_example Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_gstat Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_inc Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_python (nu_plugin_python): Send back the signature required fields. (#7489) 2022-12-15 14:37:12 -06:00
nu_plugin_query Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-cli Add more input/output type annotations (#7532) 2022-12-21 20:20:46 +01:00
nu-color-config Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-command table: Check stream timeout on every item (#7509) 2022-12-21 14:28:27 -08:00
nu-engine Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-explore Remove preview.rs (#7555) 2022-12-21 21:51:30 +01:00
nu-glob Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-json Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-parser Initial support for parse-time constants (#7436) 2022-12-22 00:21:03 +02:00
nu-path Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-plugin Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-pretty-hex Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-protocol Initial support for parse-time constants (#7436) 2022-12-22 00:21:03 +02:00
nu-system Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-table Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-term-grid Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-test-support Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-utils Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
old Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06: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.