mirror of
https://github.com/nushell/nushell
synced 2024-12-28 22:13:10 +00:00
let date commands pull default date (#3463)
This commit is contained in:
parent
3e325a1974
commit
3e99dc01b0
3 changed files with 21 additions and 9 deletions
|
@ -49,8 +49,13 @@ pub fn format(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
||||||
let format: Tagged<String> = args.req(0)?;
|
let format: Tagged<String> = args.req(0)?;
|
||||||
let table: Option<bool> = args.get_flag("table")?;
|
let table: Option<bool> = args.get_flag("table")?;
|
||||||
|
|
||||||
Ok(args
|
let input = if args.input.is_empty() {
|
||||||
.input
|
InputStream::one(crate::commands::date::now::date_now(&tag))
|
||||||
|
} else {
|
||||||
|
args.input
|
||||||
|
};
|
||||||
|
|
||||||
|
Ok(input
|
||||||
.map(move |value| match value {
|
.map(move |value| match value {
|
||||||
Value {
|
Value {
|
||||||
value: UntaggedValue::Primitive(Primitive::Date(dt)),
|
value: UntaggedValue::Primitive(Primitive::Date(dt)),
|
||||||
|
|
|
@ -2,7 +2,7 @@ use crate::prelude::*;
|
||||||
use chrono::{DateTime, Local};
|
use chrono::{DateTime, Local};
|
||||||
use nu_engine::WholeStreamCommand;
|
use nu_engine::WholeStreamCommand;
|
||||||
use nu_errors::ShellError;
|
use nu_errors::ShellError;
|
||||||
use nu_protocol::{Signature, UntaggedValue};
|
use nu_protocol::{Signature, UntaggedValue, Value};
|
||||||
|
|
||||||
pub struct Date;
|
pub struct Date;
|
||||||
|
|
||||||
|
@ -24,13 +24,16 @@ impl WholeStreamCommand for Date {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn now(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
pub fn date_now(tag: &Tag) -> Value {
|
||||||
let args = args.evaluate_once()?;
|
|
||||||
let tag = args.call_info.name_tag.clone();
|
|
||||||
|
|
||||||
let now: DateTime<Local> = Local::now();
|
let now: DateTime<Local> = Local::now();
|
||||||
|
|
||||||
let value = UntaggedValue::date(now.with_timezone(now.offset())).into_value(&tag);
|
UntaggedValue::date(now.with_timezone(now.offset())).into_value(tag)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn now(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
||||||
|
let args = args.evaluate_once()?;
|
||||||
|
|
||||||
|
let value = date_now(&args.call_info.name_tag);
|
||||||
|
|
||||||
Ok(OutputStream::one(value))
|
Ok(OutputStream::one(value))
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,11 @@ impl WholeStreamCommand for Date {
|
||||||
fn to_table(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
fn to_table(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
||||||
let args = args.evaluate_once()?;
|
let args = args.evaluate_once()?;
|
||||||
let tag = args.call_info.name_tag.clone();
|
let tag = args.call_info.name_tag.clone();
|
||||||
let input = args.input;
|
let input = if args.input.is_empty() {
|
||||||
|
InputStream::one(crate::commands::date::now::date_now(&tag))
|
||||||
|
} else {
|
||||||
|
args.input
|
||||||
|
};
|
||||||
|
|
||||||
Ok(input
|
Ok(input
|
||||||
.map(move |value| match value {
|
.map(move |value| match value {
|
||||||
|
|
Loading…
Reference in a new issue