mirror of
https://github.com/nushell/nushell.git
synced 2025-04-26 14:18:19 +02:00
I think after that we can close #14790 # Description So the issue was the tiny time delta between the moment the "date form-human" command is executed, and the moment the value gets displayed, using chrono_humanize. When in inputing "in 30 seconds", we currently get: ``` [crates\nu-protocol\src\value\mod.rs:950:21] HumanTime::from(*val) = HumanTime( TimeDelta { secs: 29, nanos: 992402700, }, )``` And with "now": ``` crates\nu-protocol\src\value\mod.rs:950:21] HumanTime::from(*val) = HumanTime( TimeDelta { secs: -1, nanos: 993393200, }, ) ``` My solution is to round this timedelta to seconds and pass this to chrono_humanize. Example: instead of passing (-1s + 993393200ns), we pass 0s. Example: instead of passing (29s + 992402700ns), we pass 30s # User-Facing Changes Before 🔴 ```nushell ~> "in 3 days" | date from-human Fri, 11 Apr 2025 09:06:36 +0200 (in 2 days) ~> "in 30 seconds" | date from-human Tue, 8 Apr 2025 09:07:09 +0200 (in 29 seconds) ``` After those changes 🟢 ```nushell ~> "in 3 days" | date from-human Fri, 11 Apr 2025 09:03:47 +0200 (in 3 days) ~> "in 30 seconds" | date from-human Tue, 8 Apr 2025 09:04:28 +0200 (in 30 seconds) ``` # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
---|---|---|
.. | ||
src | ||
tests | ||
Cargo.toml | ||
LICENSE | ||
README.md |
nu-protocol
The nu-protocol crate holds the definitions of structs/traits that are used throughout Nushell. This gives us one way to expose them to many other crates, as well as make these definitions available to each other, without causing mutually recursive dependencies.