Merge master

This commit is contained in:
Jonathan Turner 2019-06-01 09:15:13 +12:00
commit 448b6c2d6c
6 changed files with 14 additions and 20 deletions

View File

@ -25,7 +25,8 @@ Nu currently has the following built-in commands:
- to-json
- from-json
- open filename
- split sep ...fields
- split-column sep ...fields
- split-row sep ...fields
- select field
# Goals

View File

@ -52,8 +52,8 @@ pub async fn cli() -> Result<(), Box<Error>> {
command("from-json", from_json::from_json),
command("open", open::open),
command("column", column::column),
command("column-split", col_split::col_split),
command("row-split", row_split::row_split),
command("split-column", split_column::split_column),
command("split-row", split_row::split_row),
command("reject", reject::reject),
command("select", select::select),
command("to-array", to_array::to_array),
@ -212,14 +212,11 @@ async fn process_line(readline: Result<String, ReadlineError>, ctx: &mut Context
},
(
Some(ClassifiedCommand::Internal(ref i)),
Some(ClassifiedCommand::External(ref e)),
) => {
return LineResult::Error(ShellError::string(&format!(
"Unimplemented Internal({}) -> External({})",
i.name(),
e.name()
)))
Some(ClassifiedCommand::Internal(left)),
Some(ClassifiedCommand::External(_)),
) => match left.run(ctx, input).await {
Ok(val) => ClassifiedInputStream::from_input_stream(val),
Err(err) => return LineResult::Error(err),
}
(

View File

@ -12,8 +12,8 @@ crate mod select;
crate mod size;
crate mod skip;
crate mod sort_by;
crate mod col_split;
crate mod row_split;
crate mod split_column;
crate mod split_row;
crate mod take;
crate mod to_array;
crate mod to_json;

View File

@ -1,6 +1,5 @@
use crate::errors::ShellError;
use crate::object::Value;
use crate::object::base::select_fields;
use crate::prelude::*;
fn get_member(path: &str, obj: &Value) -> Option<Value> {

View File

@ -5,8 +5,7 @@ use log::debug;
// TODO: "Amount remaining" wrapper
pub fn col_split(args: CommandArgs) -> Result<OutputStream, ShellError> {
//let splitter = args.args[0].as_string()?;
pub fn split_column(args: CommandArgs) -> Result<OutputStream, ShellError> {
let input = args.input;
let args = args.args;

View File

@ -5,8 +5,7 @@ use log::debug;
// TODO: "Amount remaining" wrapper
pub fn row_split(args: CommandArgs) -> Result<OutputStream, ShellError> {
//let splitter = args.args[0].as_string()?;
pub fn split_row(args: CommandArgs) -> Result<OutputStream, ShellError> {
let input = args.input;
let args = args.args;
@ -26,8 +25,7 @@ pub fn row_split(args: CommandArgs) -> Result<OutputStream, ShellError> {
result
}
_ => {
let mut result = VecDeque::new();
//result.push_back(ReturnValue::Value(Value::Object(crate::object::Dictionary::default())));
let result = VecDeque::new();
result
}
})