nushell/Cargo.toml

169 lines
4.9 KiB
TOML
Raw Normal View History

2019-05-10 18:59:12 +02:00
[package]
authors = ["The Nushell Project Developers"]
2020-07-05 22:12:44 +02:00
default-run = "nu"
description = "A new type of shell"
2020-07-05 22:12:44 +02:00
documentation = "https://www.nushell.sh/book/"
edition = "2021"
2020-07-05 22:12:44 +02:00
exclude = ["images"]
homepage = "https://www.nushell.sh"
license = "MIT"
name = "nu"
2019-07-16 21:17:46 +02:00
repository = "https://github.com/nushell/nushell"
2022-05-04 03:56:31 +02:00
rust-version = "1.60"
version = "0.76.1"
2021-06-30 03:42:56 +02:00
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/{ version }/{ name }-{ version }-{ target }.{ archive-format }"
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"
2021-08-25 21:29:36 +02:00
[workspace]
2021-10-28 08:12:33 +02:00
members = [
"crates/nu-cli",
"crates/nu-engine",
"crates/nu-parser",
"crates/nu-system",
"crates/nu-cmd-lang",
2021-10-28 08:12:33 +02:00
"crates/nu-command",
"crates/nu-protocol",
"crates/nu-plugin",
2021-11-04 23:04:21 +01:00
"crates/nu_plugin_inc",
"crates/nu_plugin_gstat",
"crates/nu_plugin_example",
"crates/nu_plugin_query",
Add CustomValue support to plugins (#6070) * Skeleton implementation Lots and lots of TODOs * Bootstrap simple CustomValue plugin support test * Create nu_plugin_custom_value * Skeleton for nu_plugin_custom_values * Return a custom value from plugin * Encode CustomValues from plugin calls as PluginResponse::PluginData * Add new PluginCall variant CollapseCustomValue * Handle CollapseCustomValue plugin calls * Add CallInput::Data variant to CallInfo inputs * Handle CallInfo with CallInput::Data plugin calls * Send CallInput::Data if Value is PluginCustomValue from plugin calls * Remove unnecessary boxing of plugins CallInfo * Add fields needed to collapse PluginCustomValue to it * Document PluginCustomValue and its purpose * Impl collapsing using plugin calls in PluginCustomValue::to_base_value * Implement proper typetag based deserialization for CoolCustomValue * Test demonstrating that passing back a custom value to plugin works * Added a failing test for describing plugin CustomValues * Support describe for PluginCustomValues - Add name to PluginResponse::PluginData - Also turn it into a struct for clarity - Add name to PluginCustomValue - Return name field from PluginCustomValue * Demonstrate that plugins can create and handle multiple CustomValues * Add bincode to nu-plugin dependencies This is for demonstration purposes, any schemaless binary seralization format will work. I picked bincode since it's the most popular for Rust but there are defintely better options out there for this usecase * serde_json::Value -> Vec<u8> * Update capnp schema for new CallInfo.input field * Move call_input capnp serialization and deserialization into new file * Deserialize Value's span from Value itself instead of passing call.head I am not sure if this was correct and I am breaking it or if it was a bug, I don't fully understand how nu creates and uses Spans. What should reuse spans and what should recreate new ones? But yeah it felt weird that the Value's Span was being ignored since in the json serializer just uses the Value's Span * Add call_info value round trip test * Add capnp CallInput::Data serialization and deserialization support * Add CallInfo::CollapseCustomValue to capnp schema * Add capnp PluginCall::CollapseCustomValue serialization and deserialization support * Add PluginResponse::PluginData to capnp schema * Add capnp PluginResponse::PluginData serialization and deserialization support * Switch plugins::custom_values tests to capnp Both json and capnp would work now! Sadly I can't choose both at the same time :( * Add missing JsonSerializer round trip tests * Handle plugin returning PluginData as a response to CollapseCustomValue * Refactor plugin calling into a reusable function Many less levels of indentation now! * Export PluginData from nu_plugin So plugins can create their very own serve_plugin with whatever CustomValue behavior they may desire * Error if CustomValue cannot be handled by Plugin
2022-07-25 18:32:56 +02:00
"crates/nu_plugin_custom_values",
Move some `from xxx` commands to plugin (#7942) # Description From nushell 0.8 philosophy: https://github.com/nushell/nushell.github.io/blob/main/contributor-book/philosophy_0_80.md#core-categories > The following categories should be moved to plugins: Uncommon format support So this pr is trying to move following commands to plugin: - [X] from eml - [x] from ics - [x] from ini - [x] from vcf And we can have a new plugin handles for these formatting, currently it's implemented here: https://github.com/WindSoilder/nu_plugin_format The command usage should be the same to original command. If it's ok, the plugin can support more formats like [parquet](https://github.com/fdncred/nu_plugin_from_parquet), or [EDN format](https://github.com/nushell/nushell/issues/6415), or something else. Just create a draft pr to show what's the blueprint looks like, and is it a good direction to move forward? # User-Facing Changes _(List of all changes that impact the user experience here. This helps us keep track of breaking changes.)_ # 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 -A clippy::needless_collect` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass # 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.
2023-02-13 13:42:08 +01:00
"crates/nu_plugin_formats",
"crates/nu-utils",
2021-10-28 08:12:33 +02:00
]
2021-08-25 21:29:36 +02:00
2021-06-30 03:42:56 +02:00
[dependencies]
chore: chrono_update (#7132) chrono version update # Description upgrade chrono to 0.4.23 # Major Changes If you're considering making any major change to nushell, before starting work on it, seek feedback from regular contributors and get approval for the idea from the core team either on [Discord](https://discordapp.com/invite/NtAbbGn) or [GitHub issue](https://github.com/nushell/nushell/issues/new/choose). Making sure we're all on board with the change saves everybody's time. Thanks! # Tests + Formatting Make sure you've done the following, if applicable: - Add tests that cover your changes (either in the command examples, the crate/tests folder, or in the /tests folder) - Try to think about corner cases and various ways how your changes could break. Cover those in the tests 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 --features=extra -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect` to check that you're using the standard code style - `cargo test --workspace --features=extra` to check that all tests pass # After Submitting * Help us keep the docs up to date: If your PR affects the user experience of Nushell (adding/removing a command, changing an input/output type, etc.), make sure the changes are reflected in the documentation (https://github.com/nushell/nushell.github.io) after the PR is merged. Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>
2022-11-26 19:19:02 +01:00
chrono = { version = "0.4.23", features = ["serde"] }
crossterm = "0.24.0"
ctrlc = "3.2.1"
log = "0.4"
miette = { version = "5.5.0", features = ["fancy-no-backtrace"] }
nu-ansi-term = "0.46.0"
nu-cli = { path = "./crates/nu-cli", version = "0.76.1" }
nu-color-config = { path = "./crates/nu-color-config", version = "0.76.1" }
nu-cmd-lang = { path = "./crates/nu-cmd-lang", version = "0.76.1" }
nu-command = { path = "./crates/nu-command", version = "0.76.1" }
nu-engine = { path = "./crates/nu-engine", version = "0.76.1" }
nu-json = { path = "./crates/nu-json", version = "0.76.1" }
nu-parser = { path = "./crates/nu-parser", version = "0.76.1" }
nu-path = { path = "./crates/nu-path", version = "0.76.1" }
nu-plugin = { path = "./crates/nu-plugin", optional = true, version = "0.76.1" }
nu-pretty-hex = { path = "./crates/nu-pretty-hex", version = "0.76.1" }
nu-protocol = { path = "./crates/nu-protocol", version = "0.76.1" }
nu-system = { path = "./crates/nu-system", version = "0.76.1" }
nu-table = { path = "./crates/nu-table", version = "0.76.1" }
nu-term-grid = { path = "./crates/nu-term-grid", version = "0.76.1" }
nu-utils = { path = "./crates/nu-utils", version = "0.76.1" }
reedline = { version = "0.16.0", features = ["bashisms", "sqlite"] }
Bump rayon from 1.6.1 to 1.7.0 (#8328) Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.6.1 to 1.7.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rayon-rs/rayon/blob/master/RELEASES.md">rayon's changelog</a>.</em></p> <blockquote> <h1>Release rayon 1.7.0 / rayon-core 1.11.0 (2023-03-03)</h1> <ul> <li>The minimum supported <code>rustc</code> is now 1.59.</li> <li>Added a fallback when threading is unsupported.</li> <li>The new <code>ParallelIterator::take_any</code> and <code>skip_any</code> methods work like unordered <code>IndexedParallelIterator::take</code> and <code>skip</code>, counting items in whatever order they are visited in parallel.</li> <li>The new <code>ParallelIterator::take_any_while</code> and <code>skip_any_while</code> methods work like unordered <code>Iterator::take_while</code> and <code>skip_while</code>, which previously had no parallel equivalent. The &quot;while&quot; condition may be satisfied from anywhere in the parallel iterator, affecting all future items regardless of position.</li> <li>The new <code>yield_now</code> and <code>yield_local</code> functions will cooperatively yield execution to Rayon, either trying to execute pending work from the entire pool or from just the local deques of the current thread, respectively.</li> </ul> <h1>Release rayon-core 1.10.2 (2023-01-22)</h1> <ul> <li>Fixed miri-reported UB for SharedReadOnly tags protected by a call.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rayon-rs/rayon/commit/7ffaf3463be2339cb5bad86dc87b602ed067fc7c"><code>7ffaf34</code></a> Merge <a href="https://github-redirect.dependabot.com/rayon-rs/rayon/issues/716">#716</a></li> <li><a href="https://github.com/rayon-rs/rayon/commit/163003e0e3b3489ee96c6b58ba28983c72f58d91"><code>163003e</code></a> bump the release date</li> <li><a href="https://github.com/rayon-rs/rayon/commit/f7d75532fcbc8151b97dec85131e5a0be3db4b4f"><code>f7d7553</code></a> Release rayon 1.3.0 / rayon-core 1.7.0</li> <li><a href="https://github.com/rayon-rs/rayon/commit/b98bb23f0595cbf56afba8f641b366a0433f002e"><code>b98bb23</code></a> Remove unneeded extern crate statements</li> <li><a href="https://github.com/rayon-rs/rayon/commit/9b92c7deb93aedda14ca4401c5fc40a7cff596b0"><code>9b92c7d</code></a> cargo fmt</li> <li><a href="https://github.com/rayon-rs/rayon/commit/e02f439bbfacc534b0a1c07aa6d5bfdc76ed85b8"><code>e02f439</code></a> Remove useless 'use crate;' in favor of the crate prelude</li> <li><a href="https://github.com/rayon-rs/rayon/commit/a1db0fe390e87e8316fd40240c88fbc0b2b79a7c"><code>a1db0fe</code></a> Fix clippy::flat_map_identity</li> <li><a href="https://github.com/rayon-rs/rayon/commit/4e4025693f2e155abc98486b8e6f04e6e33e0a9a"><code>4e40256</code></a> Update ci/compat-Cargo.lock</li> <li><a href="https://github.com/rayon-rs/rayon/commit/1f9d117d51782b338910c26357b697beca2eca47"><code>1f9d117</code></a> Remove cfg(rayon_unstable)</li> <li><a href="https://github.com/rayon-rs/rayon/commit/198ca7f6aa28c08a56301ce3c1826c3e34955da7"><code>198ca7f</code></a> Remove rayon-futures</li> <li>Additional commits viewable in <a href="https://github.com/rayon-rs/rayon/compare/rayon-core-v1.6.1...rayon-core-v1.7.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rayon&package-manager=cargo&previous-version=1.6.1&new-version=1.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 04:32:16 +01:00
rayon = "1.7.0"
is_executable = "1.0.1"
simplelog = "0.12.0"
time = "0.3.12"
2022-05-26 20:28:59 +02:00
[target.'cfg(not(target_os = "windows"))'.dependencies]
# Our dependencies don't use OpenSSL on Windows
openssl = { version = "0.10.38", features = ["vendored"], optional = true }
signal-hook = { version = "0.3.14", default-features = false }
2022-05-26 20:28:59 +02:00
[target.'cfg(windows)'.build-dependencies]
winres = "0.1"
[target.'cfg(target_family = "unix")'.dependencies]
Bump nix from 0.25.0 to 0.26.2 (#8129) Bumps [nix](https://github.com/nix-rust/nix) from 0.25.0 to 0.26.2. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/nix-rust/nix/blob/v0.26.2/CHANGELOG.md">nix's changelog</a>.</em></p> <blockquote> <h2>[0.26.2] - 2023-01-18</h2> <h3>Fixed</h3> <ul> <li>Fix <code>SockaddrIn6</code> bug that was swapping flowinfo and scope_id byte ordering. (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1964">#1964</a>)</li> </ul> <h2>[0.26.1] - 2022-11-29</h2> <h3>Fixed</h3> <ul> <li>Fix UB with <code>sys::socket::sockopt::SockType</code> using <code>SOCK_PACKET</code>. (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1821">#1821</a>)</li> </ul> <h2>[0.26.0] - 2022-11-29</h2> <h3>Added</h3> <ul> <li>Added <code>SockaddrStorage::{as_unix_addr, as_unix_addr_mut}</code> (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1871">#1871</a>)</li> <li>Added <code>MntFlags</code> and <code>unmount</code> on all of the BSDs.</li> <li>Added <code>any()</code> and <code>all()</code> to <code>poll::PollFd</code>. (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1877">#1877</a>)</li> <li>Add <code>MntFlags</code> and <code>unmount</code> on all of the BSDs. (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1849">#1849</a>)</li> <li>Added a <code>Statfs::flags</code> method. (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1849">#1849</a>)</li> <li>Added <code>NSFS_MAGIC</code> FsType on Linux and Android. (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1829">#1829</a>)</li> <li>Added <code>sched_getcpu</code> on platforms that support it. (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1825">#1825</a>)</li> <li>Added <code>sched_getaffinity</code> and <code>sched_setaffinity</code> on FreeBSD. (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1804">#1804</a>)</li> <li>Added <code>line_discipline</code> field to <code>Termios</code> on Linux, Android and Haiku (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1805">#1805</a>)</li> <li>Expose the memfd module on FreeBSD (memfd was added in FreeBSD 13) (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1808">#1808</a>)</li> <li>Added <code>domainname</code> field of <code>UtsName</code> on Android and Linux (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1817">#1817</a>)</li> <li>Re-export <code>RLIM_INFINITY</code> from <code>libc</code> (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1831">#1831</a>)</li> <li>Added <code>syncfs(2)</code> on Linux (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1833">#1833</a>)</li> <li>Added <code>faccessat(2)</code> on illumos (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1841">#1841</a>)</li> <li>Added <code>eaccess()</code> on FreeBSD, DragonFly and Linux (glibc and musl). (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1842">#1842</a>)</li> <li>Added <code>IP_TOS</code> <code>SO_PRIORITY</code> and <code>IPV6_TCLASS</code> sockopts for Linux (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1853">#1853</a>)</li> <li>Added <code>new_unnamed</code> and <code>is_unnamed</code> for <code>UnixAddr</code> on Linux and Android. (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1857">#1857</a>)</li> <li>Added <code>SockProtocol::Raw</code> for raw sockets (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1848">#1848</a>)</li> <li>added <code>IP_MTU</code> (<code>IpMtu</code>) <code>IPPROTO_IP</code> sockopt on Linux and Android. (<a href="https://github-redirect.dependabot.com/nix-rust/nix/pull/1865">#1865</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/nix-rust/nix/commit/1e3f062fd842b7ce130ea6c792a8eab7f78f82e3"><code>1e3f062</code></a> (cargo-release) version 0.26.2</li> <li><a href="https://github.com/nix-rust/nix/commit/013931b68fb38768a29688814cd17d99e5ab4b5e"><code>013931b</code></a> Merge <a href="https://github-redirect.dependabot.com/nix-rust/nix/issues/1974">#1974</a></li> <li><a href="https://github.com/nix-rust/nix/commit/8aa85bbf2743ab30a329e86b548d2744bb2383df"><code>8aa85bb</code></a> fix: clippy::size_of_ref</li> <li><a href="https://github.com/nix-rust/nix/commit/4a83f8b8b5ea93b0dd6e747ada37c5f588b230d5"><code>4a83f8b</code></a> Drop x86_64-unknown-darwin to Tier 2</li> <li><a href="https://github.com/nix-rust/nix/commit/975a3d5c7cdb6948944d86edddfc58dcad31fd2f"><code>975a3d5</code></a> Tidy up the CHANGELOG a bit.</li> <li><a href="https://github.com/nix-rust/nix/commit/6fd74181586a4e2a2cfc24548e513775077df76b"><code>6fd7418</code></a> Fix endian swap on SocketAddrV6.</li> <li><a href="https://github.com/nix-rust/nix/commit/e7a646ddff63b912b3a5afab6464465d800de350"><code>e7a646d</code></a> (cargo-release) version 0.26.1</li> <li><a href="https://github.com/nix-rust/nix/commit/749bf755cea6bcd90c4ed5d482675ef27c53fadd"><code>749bf75</code></a> Merge <a href="https://github-redirect.dependabot.com/nix-rust/nix/issues/1821">#1821</a></li> <li><a href="https://github.com/nix-rust/nix/commit/8e91b28b64bdd18fc6fa61af8e89947ad7fb97bf"><code>8e91b28</code></a> Fix UB in the SO_TYPE sockopt</li> <li><a href="https://github.com/nix-rust/nix/commit/12fb35434f04dccf941c3e1e52fb98df6cea41e6"><code>12fb354</code></a> [skip ci] add a CHANGELOG section for the next release</li> <li>Additional commits viewable in <a href="https://github.com/nix-rust/nix/compare/v0.25.0...v0.26.2">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nix&package-manager=cargo&previous-version=0.25.0&new-version=0.26.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-12 09:03:02 +01:00
nix = { version = "0.26", default-features = false, features = [
`string | fill` counts clusters, not graphemes; and doesn't count ANSI escape codes (#8134) Enhancement of new `fill` command (#7846) to handle content including ANSI escape codes for formatting or multi-code-point Unicode grapheme clusters. In both of these cases, the content is (many) bytes longer than its visible length, and `fill` was counting the extra bytes so not adding enough fill characters. # Description This script: ```rust # the teacher emoji `\u{1F9D1}\u{200D}\u{1F3EB}` is 3 code points, but only 1 print position wide. echo "This output should be 3 print positions wide, with leading and trailing `+`" $"\u{1F9D1}\u{200D}\u{1F3EB}" | fill -c "+" -w 3 -a "c" echo "This output should be 3 print positions wide, with leading and trailing `+`" $"(ansi green)a(ansi reset)" | fill -c "+" -w 3 -a c echo "" ``` Was producing this output: ```rust This output should be 3 print positions wide, with leading and trailing `+` 🧑‍🏫 This output should be 3 print positions wide, with leading and trailing `+` a ``` After this PR, it produces this output: ```rust This output should be 3 print positions wide, with leading and trailing `+` +🧑‍🏫+ This output should be 3 print positions wide, with leading and trailing `+` +a+ ``` # User-Facing Changes Users may have to undo fixes they may have introduced to work around the former behavior. I have one such in my prompt string that I can now revert. # Tests + Formatting Don't forget to add tests that cover your changes. -- Done Make sure you've run and fixed any issues with these commands: - [x] `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - [x] `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect` to check that you're using the standard code style - [x] `cargo test --workspace` to check that all tests pass # After Submitting `fill` command not documented in the book, and it still talks about `str lpad/rpad`. I'll fix. Note added dependency on a new library `print-positions`, which is an iterator that yields a complete print position (cluster + Ansi sequence) per call. Should this be vendored?
2023-02-20 13:32:20 +01:00
"signal",
"process",
"fs",
"term",
] }
atty = "0.2"
2021-07-30 22:02:16 +02:00
[dev-dependencies]
nu-test-support = { path = "./crates/nu-test-support", version = "0.76.1" }
Bump tempfile from 3.3.0 to 3.4.0 (#8329) Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.3.0 to 3.4.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Stebalien/tempfile/blob/master/NEWS">tempfile's changelog</a>.</em></p> <blockquote> <h1>3.4.0</h1> <p>SECURITY: Prior <code>tempfile</code> releases depended on <code>remove_dir_all</code> version 0.5.0 which was vulnerable to a <a href="https://github.com/XAMPPRocky/remove_dir_all/security/advisories/GHSA-mc8h-8q98-g5hr">TOCTOU race</a>. This same race is present in rust versions prior to 1.58.1.</p> <p>Features:</p> <ul> <li>Generalized temporary files: <code>NamedTempFile</code> can now abstract over different kinds of files (e.g., unix domain sockets, pipes, etc.): <ul> <li>Add <code>Builder::make</code> and <code>Builder::make_in</code> for generalized temp file creation.</li> <li>Add <code>NamedTempFile::from_parts</code> to complement <code>NamedTempFile::into_parts</code>.</li> <li>Add generic parameter to <code>NamedTempFile</code> to support wrapping non-File types.</li> </ul> </li> </ul> <p>Bug Fixes/Improvements:</p> <ul> <li>Don't try to create a temporary file multiple times if the file path has been fully specified by the user (no random characters).</li> <li><code>NamedTempFile::persist_noclobber</code> is now always atomic on linux when <code>renameat_with</code> is supported. Previously, it would first link the new path, then unlink the previous path.</li> <li>Fix compiler warnings on windows.</li> </ul> <p>Trivia:</p> <ul> <li>Switch from <code>libc</code> to <code>rustix</code> on wasi/unix. This now makes direct syscalls instead of calling through libc.</li> <li>Remove <code>remove_dir_all</code> dependency. The rust standard library has optimized their internal version significantly.</li> <li>Switch to official windows-sys windows bindings.</li> </ul> <p>Breaking:</p> <ul> <li>The minimum rust version is now <code>1.48.0</code>.</li> <li>Mark most functions as <code>must_use</code>.</li> <li>Uses direct syscalls on linux by default, instead of libc.</li> <li>The new type parameter in <code>NamedTempFile</code> may lead to type inference issues in some cases.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/Stebalien/tempfile/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tempfile&package-manager=cargo&previous-version=3.3.0&new-version=3.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 04:31:43 +01:00
tempfile = "3.4.0"
2021-12-16 10:40:05 +01:00
assert_cmd = "2.0.2"
criterion = "0.4"
2021-12-16 10:40:05 +01:00
pretty_assertions = "1.0.0"
serial_test = "1.0.0"
hamcrest2 = "0.3.0"
Bump rstest from 0.15.0 to 0.16.0 (#8064) [//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [rstest](https://github.com/la10736/rstest) from 0.15.0 to 0.16.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/la10736/rstest/releases">rstest's releases</a>.</em></p> <blockquote> <h2>0.16.0</h2> <p>Use values expression to define test names.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/la10736/rstest/blob/master/CHANGELOG.md">rstest's changelog</a>.</em></p> <blockquote> <h2>[0.16.0] 2022/11/27</h2> <h3>Changed</h3> <ul> <li>Show <code>TEST START</code> banner only when trace some argument: See <a href="https://github-redirect.dependabot.com/la10736/rstest/issues/158">#158</a> for details.</li> <li>Add values to test name: See <a href="https://github-redirect.dependabot.com/la10736/rstest/issues/160">#160</a> for details.</li> </ul> <h3>Fixed</h3> <ul> <li>Updated test fixtures to 1.64.0 compiler's error messages.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/la10736/rstest/commit/d7ff088126a402d297a8b79d24d3b88d3aafd86e"><code>d7ff088</code></a> Update checkout list</li> <li><a href="https://github.com/la10736/rstest/commit/4386575950f92c710c6016a6f301adb64bd52d90"><code>4386575</code></a> Version 0.16.0 chengelog</li> <li><a href="https://github.com/la10736/rstest/commit/41749a881ef9faead0c17ef186704b70a7c18f12"><code>41749a8</code></a> Fix clippy warning</li> <li><a href="https://github.com/la10736/rstest/commit/daaddde1a0f5b73284d5d69fe4f6d2826054aaae"><code>daaddde</code></a> Bump to 0.16.0 version and upgrade dependency</li> <li><a href="https://github.com/la10736/rstest/commit/576768e4b375129d41cabd201a06bfb7a278351c"><code>576768e</code></a> Fixed dev dependency in rstest_macros</li> <li><a href="https://github.com/la10736/rstest/commit/a6eb3a96cb02c4021d686a10e4c3744948ba0adc"><code>a6eb3a9</code></a> Update rstest_test version</li> <li><a href="https://github.com/la10736/rstest/commit/4a18dd0bd1723e9b924a4b2b687c797736efb7ee"><code>4a18dd0</code></a> Update version</li> <li><a href="https://github.com/la10736/rstest/commit/29648832cead27597a8d9cf47f5b4b1eee2bd366"><code>2964883</code></a> Update dependency version</li> <li><a href="https://github.com/la10736/rstest/commit/5ad7e3fd61086d648ed17a9998653017ab56423f"><code>5ad7e3f</code></a> <a href="https://github-redirect.dependabot.com/la10736/rstest/issues/160">#160</a> Add test for module annotation</li> <li><a href="https://github.com/la10736/rstest/commit/a302be019fdf824413a6f15360f793348d91752b"><code>a302be0</code></a> <a href="https://github-redirect.dependabot.com/la10736/rstest/issues/160">#160</a> Tests fixed and add unit for allow</li> <li>Additional commits viewable in <a href="https://github.com/la10736/rstest/compare/0.15.0...0.16.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rstest&package-manager=cargo&previous-version=0.15.0&new-version=0.16.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 03:34:09 +01:00
rstest = { version = "0.16.0", default-features = false }
itertools = "0.10.3"
[features]
plugin = [
"nu-plugin",
"nu-cli/plugin",
"nu-parser/plugin",
"nu-command/plugin",
"nu-protocol/plugin",
"nu-engine/plugin",
]
# extra used to be more useful but now it's the same as default. Leaving it in for backcompat with existing build scripts
2022-11-21 18:24:25 +01:00
extra = ["default"]
default = ["plugin", "which-support", "trash-support", "sqlite"]
stable = ["default"]
wasi = []
2022-11-21 18:24:25 +01:00
# Enable to statically link OpenSSL; otherwise the system version will be used. Not enabled by default because it takes a while to build
static-link-openssl = ["dep:openssl"]
# Stable (Default)
2022-03-30 20:37:31 +02:00
which-support = ["nu-command/which-support"]
2022-03-10 14:37:24 +01:00
trash-support = ["nu-command/trash-support"]
# Extra
# Dataframe feature for nushell
dataframe = ["nu-command/dataframe"]
# SQLite commands for nushell
sqlite = ["nu-command/sqlite"]
[profile.release]
opt-level = "s" # Optimize for size
strip = "debuginfo"
2022-03-10 14:37:24 +01:00
lto = "thin"
# build with `cargo build --profile profiling`
# to analyze performance with tooling like linux perf
[profile.profiling]
inherits = "release"
strip = false
debug = true
# build with `cargo build --profile ci`
# to analyze performance with tooling like linux perf
[profile.ci]
inherits = "dev"
strip = false
debug = false
# Main nu binary
2019-06-27 06:56:48 +02:00
[[bin]]
name = "nu"
path = "src/main.rs"
bench = false
# To use a development version of a dependency please use a global override here
# changing versions in each sub-crate of the workspace is tedious
[patch.crates-io]
reedline = { git = "https://github.com/nushell/reedline.git", branch = "main" }
nu-ansi-term = {git = "https://github.com/nushell/nu-ansi-term.git", branch = "main"}
# Criterion benchmarking setup
# Run all benchmarks with `cargo bench`
# Run individual benchmarks like `cargo bench -- <regex>` e.g. `cargo bench -- parse`
[[bench]]
name = "benchmarks"
harness = false