mirror of
https://github.com/nushell/nushell.git
synced 2025-07-01 15:11:52 +02:00
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: 
This commit is contained in:
@ -15,13 +15,13 @@ use nu_protocol::{
|
||||
engine::{EngineState, Stack},
|
||||
PipelineData, Value,
|
||||
};
|
||||
use pager::{Page, Pager, PagerConfig, StyleConfig};
|
||||
use pager::{Page, Pager, PagerConfig};
|
||||
use registry::CommandRegistry;
|
||||
use terminal_size::{Height, Width};
|
||||
use views::{BinaryView, Orientation, Preview, RecordView};
|
||||
|
||||
mod util {
|
||||
pub use super::nu_common::{create_lscolors, create_map, map_into_value};
|
||||
pub use super::nu_common::{create_lscolors, create_map};
|
||||
}
|
||||
|
||||
fn run_pager(
|
||||
|
Reference in New Issue
Block a user