mirror of
https://github.com/nushell/nushell.git
synced 2025-07-01 07:00:37 +02:00
Introduce metadata into the pipeline (#397)
This commit is contained in:
24
src/main.rs
24
src/main.rs
@ -19,7 +19,7 @@ use nu_parser::parse;
|
||||
use nu_protocol::{
|
||||
ast::Call,
|
||||
engine::{EngineState, Stack, StateWorkingSet},
|
||||
IntoPipelineData, PipelineData, ShellError, Span, Value, CONFIG_VARIABLE_ID,
|
||||
PipelineData, ShellError, Span, Value, CONFIG_VARIABLE_ID,
|
||||
};
|
||||
use reedline::{Completer, CompletionActionHandler, DefaultPrompt, LineBuffer, Prompt};
|
||||
|
||||
@ -313,8 +313,8 @@ fn main() -> Result<()> {
|
||||
}
|
||||
}
|
||||
|
||||
fn print_value(
|
||||
value: Value,
|
||||
fn print_pipeline_data(
|
||||
input: PipelineData,
|
||||
engine_state: &EngineState,
|
||||
stack: &mut Stack,
|
||||
) -> Result<(), ShellError> {
|
||||
@ -325,15 +325,13 @@ fn print_value(
|
||||
|
||||
let output = match engine_state.find_decl("table".as_bytes()) {
|
||||
Some(decl_id) => {
|
||||
let table = engine_state.get_decl(decl_id).run(
|
||||
engine_state,
|
||||
stack,
|
||||
&Call::new(),
|
||||
value.into_pipeline_data(),
|
||||
)?;
|
||||
let table =
|
||||
engine_state
|
||||
.get_decl(decl_id)
|
||||
.run(engine_state, stack, &Call::new(), input)?;
|
||||
table.collect_string("\n", &config)
|
||||
}
|
||||
None => value.into_string(", ", &config),
|
||||
None => input.collect_string(", ", &config),
|
||||
};
|
||||
let stdout = std::io::stdout();
|
||||
|
||||
@ -436,11 +434,7 @@ fn eval_source(
|
||||
PipelineData::new(Span::unknown()),
|
||||
) {
|
||||
Ok(pipeline_data) => {
|
||||
if let Err(err) = print_value(
|
||||
pipeline_data.into_value(Span::unknown()),
|
||||
engine_state,
|
||||
stack,
|
||||
) {
|
||||
if let Err(err) = print_pipeline_data(pipeline_data, engine_state, stack) {
|
||||
let working_set = StateWorkingSet::new(engine_state);
|
||||
|
||||
report_error(&working_set, &err);
|
||||
|
Reference in New Issue
Block a user