nushell/crates
Maxim Zhiburt deca337a56
nu-table/ 1 refactoring + a few optimizations + small fix (#15653)
- A few days back I've got this idea regarding recalculus of width.
Now it calculates step by step.
So 1 loop over all data was removed.
All though there's full recalculation in case of `header_on_border`
😞 (can be fixed..... but I decided to be short)

In perfect world it also shall be refactored ......

- Also have done small refactoring to switch build table from
`Vec<Vec<_>>>` to table itself. To hide internals (kind of still there's
things which I don't like).
It touched the `--expand` algorithm lightly you can see the tests
changes.

- And when doing that noticed one more opportunity, to remove HashMap
usage and directly use `tabled::ColoredConfig`. Which reduces copy
operations and allocations.

- And fixed a small issue where trailing column being using deleted
column styles.


![image](https://github.com/user-attachments/assets/19b09dba-c688-4e91-960a-e11ed11fd275)

To conclude optimizations;
I did small testing and it's not slower.
But I didn't get the faster results either.
But I believe it must be faster well in all cases, I think maybe bigger
tables must be tested.
Maybe someone could have a few runs to compare performance.

cc: @fdncred
2025-05-01 09:43:30 -05:00
..
nu_plugin_custom_values Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu_plugin_example Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu_plugin_formats Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu_plugin_gstat Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu_plugin_inc Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu_plugin_javascript create nu_plugin_node_example.js (#15482) 2025-04-11 21:18:46 +02:00
nu_plugin_nu_example Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu_plugin_polars Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu_plugin_python Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu_plugin_query Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu_plugin_stress_internals Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-cli Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-cmd-base Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-cmd-extra Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-cmd-lang Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-cmd-plugin Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-color-config Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-command nu-table/ 1 refactoring + a few optimizations + small fix (#15653) 2025-05-01 09:43:30 -05:00
nu-derive-value Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-engine Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-explore Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-glob Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-json Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-lsp Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-parser Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-path Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-plugin Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-plugin-core Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-plugin-engine Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-plugin-protocol Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-plugin-test-support Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-pretty-hex Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-protocol Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-std Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-system Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-table nu-table/ 1 refactoring + a few optimizations + small fix (#15653) 2025-05-01 09:43:30 -05:00
nu-term-grid Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-test-support Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nu-utils Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04:00
nuon Bump to 0.104.1 dev version (#15669) 2025-04-29 23:33:10 -04: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.