nushell/crates
Stefan Holderbach 659da3c4a4
Make ANSI stripping lazy in more places (#4380)
Same rationale as in #4378

Also accelerate `grid`

before:

```
Command being timed: "./eager_nu -c for i in 0..100000 { echo whatever } | grid"
        User time (seconds): 0.21
        System time (seconds): 0.05
        Percent of CPU this job got: 36%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.71
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 48112
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 10580
        Voluntary context switches: 266
        Involuntary context switches: 2595
        Swaps: 0
        File system inputs: 0
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0
```

after:

```
Command being timed: "./lazy_nu -c for i in 0..100000 { echo whatever } | grid"
        User time (seconds): 0.14
        System time (seconds): 0.05
        Percent of CPU this job got: 33%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.60
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 48272
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 1
        Minor (reclaiming a frame) page faults: 10582
        Voluntary context switches: 286
        Involuntary context switches: 831
        Swaps: 0
        File system inputs: 56
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0
```
2022-02-08 18:25:31 -06:00
..
nu-ansi-term Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-cli Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-color-config Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-command Make ANSI stripping lazy in more places (#4380) 2022-02-08 18:25:31 -06:00
nu-engine Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-json Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-parser Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-path Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-plugin Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-pretty-hex Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-protocol Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-system Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu-table Reduce table allocs: only strip ANSI if necessary (#4378) 2022-02-08 17:43:32 -06:00
nu-term-grid Make ANSI stripping lazy in more places (#4380) 2022-02-08 18:25:31 -06:00
nu-test-support Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_chart Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_example Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_from_bson Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_from_mp4 Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_from_sqlite Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_gstat Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_inc Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_match Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_python name change (#526) 2021-12-19 10:00:31 +00:00
nu_plugin_query Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_s3 Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_start Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_to_bson Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_to_sqlite Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00
nu_plugin_tree Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05: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.