nushell/crates
Reilly Wood f2f4b83886
Overhaul explore config (#13075)
Configuration in `explore` has always been confusing to me. This PR
overhauls (and simplifies, I think) how configuration is done.

# Details

1. Configuration is now strongly typed. In `Explore::run()` we create an
`ExploreConfig` struct from the more general Nu configuration and
arguments to `explore`, then pass that struct to other parts of
`explore` that need configuration. IMO this is a lot easier to reason
about and trace than the previous approach of creating a
`HashMap<String, Value>` and then using that to make various structs
elsewhere.
2. We now inherit more configuration from the config used for regular Nu
tables
1. Border/line styling now uses the `separator` style used for regular
Nu tables, the special `explore.split_line` config point has been
retired.
2. Cell padding in tables is now controlled by `table.padding` instead
of the undocumented `column_padding_left`/`column_padding_right` config
3. The (optional, previously not enabled by default) `selected_row` and
`selected_column` configuration has been removed. We now only highlight
the selected cell. I could re-add this if people really like the feature
but I'm guessing nobody uses it.

The interface still looks the same with a default/empty config.nu:


![image](https://github.com/nushell/nushell/assets/26268125/e40161ba-a8ec-407a-932d-5ece6f4dc616)
2024-06-06 08:46:43 -05:00
..
nu_plugin_custom_values bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu_plugin_example bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu_plugin_formats bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu_plugin_gstat bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu_plugin_inc bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu_plugin_nu_example bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu_plugin_polars Upgrade to polars 0.40 (#13069) 2024-06-06 07:26:47 +08:00
nu_plugin_python bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu_plugin_query Make query xml return nodes in document order (#13047) 2024-06-05 09:47:36 +08:00
nu_plugin_stress_internals bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-cli reduce log tracing in nu-cli (#13067) 2024-06-05 08:54:38 -07:00
nu-cmd-base bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-cmd-extra bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-cmd-lang cd/def --env examples (#13068) 2024-06-05 21:35:31 +03:00
nu-cmd-plugin bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-color-config bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-command run_external: remove inner quotes once nushell gets = sign (#13073) 2024-06-06 11:03:34 +08:00
nu-engine Make string related commands parse-time evaluatable (#13032) 2024-06-05 22:21:52 +03:00
nu-explore Overhaul explore config (#13075) 2024-06-06 08:46:43 -05:00
nu-glob bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-json bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-lsp bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-parser Span ID Refactor - Step 1 (#12960) 2024-06-05 09:57:14 +08:00
nu-path bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-plugin bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-plugin-core bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-plugin-engine bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-plugin-protocol bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-plugin-test-support bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-pretty-hex bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-protocol Span ID Refactor - Step 1 (#12960) 2024-06-05 09:57:14 +08:00
nu-std complete the type of --error-label in std assert commands (#12998) 2024-06-05 08:02:17 +08:00
nu-system bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-table bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-term-grid bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-test-support bump version to 0.94.3 (#13055) 2024-06-05 06:52:40 +08:00
nu-utils Overhaul explore config (#13075) 2024-06-06 08:46:43 -05:00
nuon Span ID Refactor - Step 1 (#12960) 2024-06-05 09:57:14 +08: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.