Compare commits

...

11 Commits

Author SHA1 Message Date
JT
a660720b68 Bump to 0.44 (#4365) 2022-02-07 20:15:46 -05:00
265ee1281d Drop with iter range (#4242)
* Allow range in 'drop nth'

* Unit tests for drop nth range

* Add range case to the description

* Fix description 2

* format fixes

* Fix example and some refactoring

* clippy fixes
2022-02-07 08:02:35 -05:00
JT
cdc8e67d61 Remove unused repo parts (#4271)
* Remove unused repo parts

* Update README

* cargo fmt
2022-01-26 07:31:04 +11:00
JT
4e8e03867c Update release.yml 2022-01-19 04:51:21 +11:00
JT
49e8af8ea5 Bump to 0.43 (#4264) 2022-01-18 12:06:12 -05:00
JT
d5d61d14b3 Tutor eq (#4263)
* Fix clippy lints

* Fix clippy lints

* Fix clippy lints

* Add e-q tutor page
2022-01-19 03:22:23 +11:00
JT
f562a4526c Fix clippy lints (#4262)
* Fix clippy lints

* Fix clippy lints

* Fix clippy lints
2022-01-18 23:33:28 +11:00
e6c09f2dfc Update sysinfo version (#4261) 2022-01-18 22:37:52 +11:00
73a68954c4 Bump follow-redirects from 1.14.4 to 1.14.7 in /samples/wasm (#4258)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.4 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.4...v1.14.7)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-18 22:37:06 +11:00
476d543dee Update descriptions for crates split out from nu-cli (#4247)
`nu-command` and `nu-data` were split out, but the descriptions still
say 'CLI'.

Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>
2022-01-09 06:05:50 -06:00
398502b0d6 fix docs/sample_config/config.toml: use env.PROMPT_COMMAND (#4241) 2022-01-02 17:35:07 -06:00
84 changed files with 394 additions and 836 deletions

View File

@ -1,165 +0,0 @@
# CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/configuration-reference/ for more details
# See https://circleci.com/docs/2.0/config-intro/#section=configuration for spec
#
version: 2.1
# Commands
commands:
pull_cache:
description: Pulls Quay.io docker images (latest) for our cache
parameters:
tag:
type: string
default: "devel"
steps:
- run: echo "Tag is << parameters.tag >>"
- run: docker pull quay.io/nushell/nu:<< parameters.tag >>
- run: docker pull quay.io/nushell/nu-base:<< parameters.tag >>
orbs:
# https://circleci.com/orbs/registry/orb/circleci/docker
docker: circleci/docker@0.5.13
workflows:
version: 2.0
# This builds on all pull requests to test, and ignores main
build_without_deploy:
jobs:
- docker/publish:
deploy: false
image: nushell/nu-base
tag: latest
dockerfile: docker/Dockerfile.nu-base
extra_build_args: --cache-from=quay.io/nushell/nu-base:devel
filters:
branches:
ignore:
- main
before_build:
- pull_cache
after_build:
- run:
name: Build Multistage (smaller) container
command: |
docker build -f docker/Dockerfile -t quay.io/nushell/nu .
- run:
name: Preview Docker Tag for Nushell Build
command: |
DOCKER_TAG=$(docker run quay.io/nushell/nu --version | cut -d' ' -f2)
echo "Version that would be used for Docker tag is v${DOCKER_TAG}"
- run:
name: Test Executable
command: |
docker run --rm quay.io/nushell/nu-base --help
docker run --rm quay.io/nushell/nu --help
# workflow publishes to Docker Hub, with each job having different triggers
build_with_deploy:
jobs:
# Deploy versioned and latest images on tags (releases) only - builds --release.
- docker/publish:
image: nushell/nu-base
registry: quay.io
tag: latest
dockerfile: docker/Dockerfile.nu-base
extra_build_args: --cache-from=quay.io/nushell/nu-base:latest,quay.io/nushell/nu:latest --build-arg RELEASE=true
filters:
branches:
ignore: /.*/
tags:
only: /^\d+\.\d+\.\d+$/
before_build:
- run: docker pull quay.io/nushell/nu:latest
- run: docker pull quay.io/nushell/nu-base:latest
after_build:
- run:
name: Build Multistage (smaller) container
command: |
docker build -f docker/Dockerfile -t quay.io/nushell/nu .
- run:
name: Test Executable
command: |
docker run --rm quay.io/nushell/nu --help
docker run --rm quay.io/nushell/nu-base --help
- run:
name: Publish Docker Tag with Nushell Version
command: |
DOCKER_TAG=$(docker run quay.io/nushell/nu --version | cut -d' ' -f2)
echo "Version for Docker tag is ${DOCKER_TAG}"
docker tag quay.io/nushell/nu-base:latest quay.io/nushell/nu-base:${DOCKER_TAG}
docker tag quay.io/nushell/nu:latest quay.io/nushell/nu:${DOCKER_TAG}
docker push quay.io/nushell/nu-base
docker push quay.io/nushell/nu
# publish devel to Docker Hub on merge to main (doesn't build --release)
build_with_deploy_devel:
jobs:
# Deploy devel tag on merge to main
- docker/publish:
image: nushell/nu-base
registry: quay.io
tag: devel
dockerfile: docker/Dockerfile.nu-base
extra_build_args: --cache-from=quay.io/nushell/nu-base:devel
before_build:
- pull_cache
filters:
branches:
only: main
after_build:
- run:
name: Build Multistage (smaller) container
command: |
docker build --build-arg FROMTAG=devel -f docker/Dockerfile -t quay.io/nushell/nu:devel .
- run:
name: Test Executable
command: |
docker run --rm quay.io/nushell/nu:devel --help
docker run --rm quay.io/nushell/nu-base:devel --help
- run:
name: Publish Development Docker Tags
command: |
docker push quay.io/nushell/nu-base:devel
docker push quay.io/nushell/nu:devel
nightly:
triggers:
- schedule:
cron: "0 0 * * *"
filters:
branches:
only:
- main
jobs:
- docker/publish:
image: nushell/nu-base
registry: quay.io
tag: nightly
dockerfile: docker/Dockerfile.nu-base
extra_build_args: --cache-from=quay.io/nushell/nu-base:nightly --build-arg RELEASE=true
before_build:
- run: docker pull quay.io/nushell/nu:nightly
- run: docker pull quay.io/nushell/nu-base:nightly
after_build:
- run:
name: Build Multistage (smaller) container
command: |
docker build -f docker/Dockerfile -t quay.io/nushell/nu:nightly .
- run:
name: Test Executable
command: |
docker run --rm quay.io/nushell/nu:nightly --help
docker run --rm quay.io/nushell/nu-base:nightly --help
- run:
name: Publish Nightly Nushell Containers
command: |
docker push quay.io/nushell/nu-base:nightly
docker push quay.io/nushell/nu:nightly

View File

@ -1 +0,0 @@
target

View File

@ -215,7 +215,7 @@ jobs:
uses: actions-rs/cargo@v1
with:
command: install
args: cargo-wix
args: cargo-wix --version 0.3.1
- name: Build
uses: actions-rs/cargo@v1

18
.gitpod.Dockerfile vendored
View File

@ -1,18 +0,0 @@
FROM gitpod/workspace-full
# Gitpod will not rebuild Nushell's dev image unless *some* change is made to this Dockerfile.
# To force a rebuild, simply increase this counter:
ENV TRIGGER_REBUILD 2
USER gitpod
RUN sudo apt-get update && \
sudo apt-get install -y \
libssl-dev \
libxcb-composite0-dev \
pkg-config \
libpython3.6 \
rust-lldb \
&& sudo rm -rf /var/lib/apt/lists/*
ENV RUST_LLDB=/usr/bin/lldb-11

View File

@ -1,25 +0,0 @@
image:
file: .gitpod.Dockerfile
tasks:
- name: Clippy
init: cargo clippy --all --features=stable -- -D clippy::result_unwrap_used -D clippy::option_unwrap_used
- name: Testing
init: cargo test --all --features=stable
- name: Build
init: cargo build --features=stable
- name: Nu
init: cargo install --path . --features=stable
command: nu
github:
prebuilds:
branches: true
pullRequestsFromForks: true
addLabel: prebuilt-in-gitpod
vscode:
extensions:
- hbenl.vscode-test-explorer@2.15.0:koqDUMWDPJzELp/hdS/lWw==
- Swellaby.vscode-rust-test-adapter@0.11.0:Xg+YeZZQiVpVUsIkH+uiiw==
- serayuzgur.crates@0.4.7:HMkoguLcXp9M3ud7ac3eIw==
- belfz.search-crates-io@1.2.1:kSLnyrOhXtYPjQpKnMr4eQ==
- bungcip.better-toml@0.3.2:3QfgGxxYtGHfJKQU7H0nEw==
- webfreak.debug@0.24.0:1zVcRsAhewYEX3/A9xjMNw==

View File

@ -1,14 +0,0 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "gdb",
"request": "launch",
"name": "Debug Rust Code",
"preLaunchTask": "cargo",
"target": "${workspaceFolder}/target/debug/nu",
"cwd": "${workspaceFolder}",
"valuesFormatting": "parseText"
}
]
}

View File

@ -1,12 +0,0 @@
{
"tasks": [
{
"command": "cargo",
"args": [
"build"
],
"type": "process",
"label": "cargo",
}
],
}

80
Cargo.lock generated
View File

@ -1890,9 +1890,9 @@ dependencies = [
[[package]]
name = "libc"
version = "0.2.108"
version = "0.2.112"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119"
checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125"
[[package]]
name = "libgit2-sys"
@ -2252,7 +2252,7 @@ dependencies = [
[[package]]
name = "nu"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"ctrlc",
"futures 0.3.18",
@ -2292,7 +2292,7 @@ dependencies = [
[[package]]
name = "nu-ansi-term"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"doc-comment",
"overload",
@ -2304,7 +2304,7 @@ dependencies = [
[[package]]
name = "nu-cli"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"ctrlc",
"indexmap",
@ -2331,7 +2331,7 @@ dependencies = [
[[package]]
name = "nu-command"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"base64",
"bigdecimal",
@ -2418,7 +2418,7 @@ dependencies = [
[[package]]
name = "nu-completion"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"indexmap",
"is_executable",
@ -2434,7 +2434,7 @@ dependencies = [
[[package]]
name = "nu-data"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bigdecimal",
"byte-unit",
@ -2464,7 +2464,7 @@ dependencies = [
[[package]]
name = "nu-engine"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bigdecimal",
"bytes 1.1.0",
@ -2509,7 +2509,7 @@ dependencies = [
[[package]]
name = "nu-errors"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bigdecimal",
"codespan-reporting",
@ -2528,7 +2528,7 @@ dependencies = [
[[package]]
name = "nu-json"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"lazy_static",
"linked-hash-map",
@ -2542,7 +2542,7 @@ dependencies = [
[[package]]
name = "nu-parser"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bigdecimal",
"derive-new",
@ -2561,7 +2561,7 @@ dependencies = [
[[package]]
name = "nu-path"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"dirs-next",
"dunce",
@ -2569,7 +2569,7 @@ dependencies = [
[[package]]
name = "nu-plugin"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"indexmap",
"nu-errors",
@ -2583,7 +2583,7 @@ dependencies = [
[[package]]
name = "nu-pretty-hex"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"heapless",
"nu-ansi-term",
@ -2592,7 +2592,7 @@ dependencies = [
[[package]]
name = "nu-protocol"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bigdecimal",
"byte-unit",
@ -2614,7 +2614,7 @@ dependencies = [
[[package]]
name = "nu-serde"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bigdecimal",
"insta",
@ -2626,7 +2626,7 @@ dependencies = [
[[package]]
name = "nu-source"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"derive-new",
"getset",
@ -2637,7 +2637,7 @@ dependencies = [
[[package]]
name = "nu-stream"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"nu-errors",
"nu-protocol",
@ -2646,7 +2646,7 @@ dependencies = [
[[package]]
name = "nu-table"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"atty",
"nu-ansi-term",
@ -2657,7 +2657,7 @@ dependencies = [
[[package]]
name = "nu-test-support"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bigdecimal",
"chrono",
@ -2675,7 +2675,7 @@ dependencies = [
[[package]]
name = "nu-value-ext"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"indexmap",
"itertools",
@ -2687,7 +2687,7 @@ dependencies = [
[[package]]
name = "nu_plugin_binaryview"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"crossterm",
"image",
@ -2703,7 +2703,7 @@ dependencies = [
[[package]]
name = "nu_plugin_chart"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"crossterm",
"nu-data",
@ -2717,7 +2717,7 @@ dependencies = [
[[package]]
name = "nu_plugin_from_bson"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bigdecimal",
"bson",
@ -2729,7 +2729,7 @@ dependencies = [
[[package]]
name = "nu_plugin_from_mp4"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"mp4",
"nu-errors",
@ -2741,7 +2741,7 @@ dependencies = [
[[package]]
name = "nu_plugin_from_sqlite"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bigdecimal",
"nu-errors",
@ -2754,7 +2754,7 @@ dependencies = [
[[package]]
name = "nu_plugin_inc"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"nu-errors",
"nu-plugin",
@ -2767,7 +2767,7 @@ dependencies = [
[[package]]
name = "nu_plugin_match"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"nu-errors",
"nu-plugin",
@ -2777,7 +2777,7 @@ dependencies = [
[[package]]
name = "nu_plugin_query_json"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"gjson",
"nu-errors",
@ -2788,7 +2788,7 @@ dependencies = [
[[package]]
name = "nu_plugin_s3"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"futures 0.3.18",
"nu-errors",
@ -2800,7 +2800,7 @@ dependencies = [
[[package]]
name = "nu_plugin_selector"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"indexmap",
"nu-errors",
@ -2812,7 +2812,7 @@ dependencies = [
[[package]]
name = "nu_plugin_start"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"glob",
"nu-errors",
@ -2826,7 +2826,7 @@ dependencies = [
[[package]]
name = "nu_plugin_textview"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bat",
"nu-data",
@ -2840,7 +2840,7 @@ dependencies = [
[[package]]
name = "nu_plugin_to_bson"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bson",
"nu-errors",
@ -2852,7 +2852,7 @@ dependencies = [
[[package]]
name = "nu_plugin_to_sqlite"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"hex",
"nu-errors",
@ -2865,7 +2865,7 @@ dependencies = [
[[package]]
name = "nu_plugin_tree"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"derive-new",
"nu-errors",
@ -2876,7 +2876,7 @@ dependencies = [
[[package]]
name = "nu_plugin_xpath"
version = "0.42.0"
version = "0.44.0"
dependencies = [
"bigdecimal",
"indexmap",
@ -4570,9 +4570,9 @@ dependencies = [
[[package]]
name = "sysinfo"
version = "0.21.2"
version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f88d66f3341b688163d3585037954ff276cf24a234d015b30025318a3e3449a"
checksum = "9e757000a4bed2b1be9be65a3f418b9696adf30bb419214c73997422de73a591"
dependencies = [
"cfg-if 1.0.0",
"core-foundation-sys",

View File

@ -10,7 +10,7 @@ license = "MIT"
name = "nu"
readme = "README.md"
repository = "https://github.com/nushell/nushell"
version = "0.42.0"
version = "0.44.0"
[workspace]
members = ["crates/*/"]
@ -18,34 +18,34 @@ members = ["crates/*/"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
nu-cli = { version = "0.42.0", path="./crates/nu-cli", default-features=false }
nu-command = { version = "0.42.0", path="./crates/nu-command" }
nu-completion = { version = "0.42.0", path="./crates/nu-completion" }
nu-data = { version = "0.42.0", path="./crates/nu-data" }
nu-engine = { version = "0.42.0", path="./crates/nu-engine" }
nu-errors = { version = "0.42.0", path="./crates/nu-errors" }
nu-parser = { version = "0.42.0", path="./crates/nu-parser" }
nu-path = { version = "0.42.0", path="./crates/nu-path" }
nu-plugin = { version = "0.42.0", path="./crates/nu-plugin" }
nu-protocol = { version = "0.42.0", path="./crates/nu-protocol" }
nu-source = { version = "0.42.0", path="./crates/nu-source" }
nu-value-ext = { version = "0.42.0", path="./crates/nu-value-ext" }
nu-cli = { version = "0.44.0", path="./crates/nu-cli", default-features=false }
nu-command = { version = "0.44.0", path="./crates/nu-command" }
nu-completion = { version = "0.44.0", path="./crates/nu-completion" }
nu-data = { version = "0.44.0", path="./crates/nu-data" }
nu-engine = { version = "0.44.0", path="./crates/nu-engine" }
nu-errors = { version = "0.44.0", path="./crates/nu-errors" }
nu-parser = { version = "0.44.0", path="./crates/nu-parser" }
nu-path = { version = "0.44.0", path="./crates/nu-path" }
nu-plugin = { version = "0.44.0", path="./crates/nu-plugin" }
nu-protocol = { version = "0.44.0", path="./crates/nu-protocol" }
nu-source = { version = "0.44.0", path="./crates/nu-source" }
nu-value-ext = { version = "0.44.0", path="./crates/nu-value-ext" }
nu_plugin_binaryview = { version = "0.42.0", path="./crates/nu_plugin_binaryview", optional=true }
nu_plugin_chart = { version = "0.42.0", path="./crates/nu_plugin_chart", optional=true }
nu_plugin_from_bson = { version = "0.42.0", path="./crates/nu_plugin_from_bson", optional=true }
nu_plugin_from_sqlite = { version = "0.42.0", path="./crates/nu_plugin_from_sqlite", optional=true }
nu_plugin_inc = { version = "0.42.0", path="./crates/nu_plugin_inc", optional=true }
nu_plugin_match = { version = "0.42.0", path="./crates/nu_plugin_match", optional=true }
nu_plugin_query_json = { version = "0.42.0", path="./crates/nu_plugin_query_json", optional=true }
nu_plugin_s3 = { version = "0.42.0", path="./crates/nu_plugin_s3", optional=true }
nu_plugin_selector = { version = "0.42.0", path="./crates/nu_plugin_selector", optional=true }
nu_plugin_start = { version = "0.42.0", path="./crates/nu_plugin_start", optional=true }
nu_plugin_textview = { version = "0.42.0", path="./crates/nu_plugin_textview", optional=true }
nu_plugin_to_bson = { version = "0.42.0", path="./crates/nu_plugin_to_bson", optional=true }
nu_plugin_to_sqlite = { version = "0.42.0", path="./crates/nu_plugin_to_sqlite", optional=true }
nu_plugin_tree = { version = "0.42.0", path="./crates/nu_plugin_tree", optional=true }
nu_plugin_xpath = { version = "0.42.0", path="./crates/nu_plugin_xpath", optional=true }
nu_plugin_binaryview = { version = "0.44.0", path="./crates/nu_plugin_binaryview", optional=true }
nu_plugin_chart = { version = "0.44.0", path="./crates/nu_plugin_chart", optional=true }
nu_plugin_from_bson = { version = "0.44.0", path="./crates/nu_plugin_from_bson", optional=true }
nu_plugin_from_sqlite = { version = "0.44.0", path="./crates/nu_plugin_from_sqlite", optional=true }
nu_plugin_inc = { version = "0.44.0", path="./crates/nu_plugin_inc", optional=true }
nu_plugin_match = { version = "0.44.0", path="./crates/nu_plugin_match", optional=true }
nu_plugin_query_json = { version = "0.44.0", path="./crates/nu_plugin_query_json", optional=true }
nu_plugin_s3 = { version = "0.44.0", path="./crates/nu_plugin_s3", optional=true }
nu_plugin_selector = { version = "0.44.0", path="./crates/nu_plugin_selector", optional=true }
nu_plugin_start = { version = "0.44.0", path="./crates/nu_plugin_start", optional=true }
nu_plugin_textview = { version = "0.44.0", path="./crates/nu_plugin_textview", optional=true }
nu_plugin_to_bson = { version = "0.44.0", path="./crates/nu_plugin_to_bson", optional=true }
nu_plugin_to_sqlite = { version = "0.44.0", path="./crates/nu_plugin_to_sqlite", optional=true }
nu_plugin_tree = { version = "0.44.0", path="./crates/nu_plugin_tree", optional=true }
nu_plugin_xpath = { version = "0.44.0", path="./crates/nu_plugin_xpath", optional=true }
# Required to bootstrap the main binary
ctrlc = { version="3.1.7", optional=true }
@ -53,7 +53,7 @@ futures = { version="0.3.12", features=["compat", "io-compat"] }
itertools = "0.10.0"
[dev-dependencies]
nu-test-support = { version = "0.42.0", path="./crates/nu-test-support" }
nu-test-support = { version = "0.44.0", path="./crates/nu-test-support" }
serial_test = "0.5.1"
hamcrest2 = "0.3.0"
rstest = "0.10.0"

View File

@ -37,10 +37,6 @@ We also have an active [Discord](https://discord.gg/NtAbbGn) and [Twitter](https
You can also find information on more specific topics in our [cookbook](https://www.nushell.sh/cookbook/).
Try it in Gitpod.
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/nushell/nushell)
## Installation
### Local
@ -113,12 +109,11 @@ Commands are separated by the pipe symbol (`|`) to denote a pipeline flowing lef
0 │ assets │ Dir │ 128 B │ 5 months ago
1 │ crates │ Dir │ 704 B │ 50 mins ago
2 │ debian │ Dir │ 352 B │ 5 months ago
3 │ docker │ Dir │ 288 B │ 3 months ago
4docs │ Dir │ 192 B │ 50 mins ago
5images │ Dir │ 160 B │ 5 months ago
6src │ Dir │ 128 B │ 1 day ago
7 │ target │ Dir │ 160 B │ 5 days ago
8 │ tests │ Dir │ 192 B │ 3 months ago
3 │ docs │ Dir │ 192 B │ 50 mins ago
4images │ Dir │ 160 B │ 5 months ago
5src │ Dir │ 128 B │ 1 day ago
6target │ Dir │ 160 B │ 5 days ago
7 │ tests │ Dir │ 192 B │ 3 months ago
───┴────────┴──────┴───────┴──────────────
```

View File

@ -9,7 +9,7 @@ description = "Library for ANSI terminal colors and styles (bold, underline)"
edition = "2018"
license = "MIT"
name = "nu-ansi-term"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false

View File

@ -231,7 +231,6 @@
#![crate_name = "nu_ansi_term"]
#![crate_type = "rlib"]
#![crate_type = "dylib"]
#![warn(missing_copy_implementations)]
// #![warn(missing_docs)]
#![warn(trivial_casts, trivial_numeric_casts)]

View File

@ -4,24 +4,24 @@ description = "CLI for nushell"
edition = "2018"
license = "MIT"
name = "nu-cli"
version = "0.42.0"
version = "0.44.0"
build = "build.rs"
[lib]
doctest = false
[dependencies]
nu-completion = { version = "0.42.0", path="../nu-completion" }
nu-command = { version = "0.42.0", path="../nu-command" }
nu-data = { version = "0.42.0", path="../nu-data" }
nu-engine = { version = "0.42.0", path="../nu-engine" }
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-parser = { version = "0.42.0", path="../nu-parser" }
nu-protocol = { version = "0.42.0", path="../nu-protocol" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-stream = { version = "0.42.0", path="../nu-stream" }
nu-ansi-term = { version = "0.42.0", path="../nu-ansi-term" }
nu-path = { version = "0.42.0", path="../nu-path" }
nu-completion = { version = "0.44.0", path="../nu-completion" }
nu-command = { version = "0.44.0", path="../nu-command" }
nu-data = { version = "0.44.0", path="../nu-data" }
nu-engine = { version = "0.44.0", path="../nu-engine" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-parser = { version = "0.44.0", path="../nu-parser" }
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
nu-source = { version = "0.44.0", path="../nu-source" }
nu-stream = { version = "0.44.0", path="../nu-stream" }
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
nu-path = { version = "0.44.0", path="../nu-path" }
indexmap ="1.6.1"
log = "0.4.14"

View File

@ -91,10 +91,10 @@ pub fn run_script_file(
fn default_prompt_string(cwd: &str) -> String {
format!(
"{}{}{}{}{}{}> ",
Color::Green.bold().prefix().to_string(),
Color::Green.bold().prefix(),
cwd,
nu_ansi_term::ansi::RESET,
Color::Cyan.bold().prefix().to_string(),
Color::Cyan.bold().prefix(),
current_branch(),
nu_ansi_term::ansi::RESET
)

View File

@ -1,32 +1,32 @@
[package]
authors = ["The Nu Project Contributors"]
build = "build.rs"
description = "CLI for nushell"
description = "Commands for Nushell"
edition = "2018"
license = "MIT"
name = "nu-command"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-data = { version = "0.42.0", path="../nu-data" }
nu-engine = { version = "0.42.0", path="../nu-engine" }
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-json = { version = "0.42.0", path="../nu-json" }
nu-path = { version = "0.42.0", path="../nu-path" }
nu-parser = { version = "0.42.0", path="../nu-parser" }
nu-plugin = { version = "0.42.0", path="../nu-plugin" }
nu-protocol = { version = "0.42.0", path="../nu-protocol" }
nu-serde = { version = "0.42.0", path="../nu-serde" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-stream = { version = "0.42.0", path="../nu-stream" }
nu-table = { version = "0.42.0", path="../nu-table" }
nu-test-support = { version = "0.42.0", path="../nu-test-support" }
nu-value-ext = { version = "0.42.0", path="../nu-value-ext" }
nu-ansi-term = { version = "0.42.0", path="../nu-ansi-term" }
nu-pretty-hex = { version = "0.42.0", path="../nu-pretty-hex" }
nu-data = { version = "0.44.0", path="../nu-data" }
nu-engine = { version = "0.44.0", path="../nu-engine" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-json = { version = "0.44.0", path="../nu-json" }
nu-path = { version = "0.44.0", path="../nu-path" }
nu-parser = { version = "0.44.0", path="../nu-parser" }
nu-plugin = { version = "0.44.0", path="../nu-plugin" }
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
nu-serde = { version = "0.44.0", path="../nu-serde" }
nu-source = { version = "0.44.0", path="../nu-source" }
nu-stream = { version = "0.44.0", path="../nu-stream" }
nu-table = { version = "0.44.0", path="../nu-table" }
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
nu-value-ext = { version = "0.44.0", path="../nu-value-ext" }
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
nu-pretty-hex = { version = "0.44.0", path="../nu-pretty-hex" }
url = "2.2.1"
mime = "0.3.16"
@ -73,7 +73,7 @@ serde_urlencoded = "0.7.0"
serde_yaml = "0.8.16"
sha2 = "0.9.3"
strip-ansi-escapes = "0.1.0"
sysinfo = { version = "0.21.2", optional = true }
sysinfo = { version = "0.23.0", optional = true }
thiserror = "1.0.26"
term = { version="0.7.0", optional=true }
term_size = "0.3.2"

View File

@ -93,7 +93,7 @@ pub fn source(args: CommandArgs) -> Result<OutputStream, ShellError> {
let path = canonicalize(source_file).map_err(|e| {
ShellError::labeled_error(
format!("Can't load source file. Reason: {}", e.to_string()),
format!("Can't load source file. Reason: {}", e),
"Can't load this file",
filename.span(),
)
@ -112,7 +112,7 @@ pub fn source(args: CommandArgs) -> Result<OutputStream, ShellError> {
}
Err(e) => {
ctx.error(ShellError::labeled_error(
format!("Can't load source file. Reason: {}", e.to_string()),
format!("Can't load source file. Reason: {}", e),
"Can't load this file",
filename.span(),
));

View File

@ -81,6 +81,7 @@ fn tutor(args: CommandArgs) -> Result<OutputStream, ShellError> {
vec!["var", "vars", "variable", "variables"],
variable_tutor(),
),
(vec!["engine-q", "e-q"], engineq_tutor()),
(vec!["block", "blocks"], block_tutor()),
(vec!["shorthand", "shorthands"], shorthand_tutor()),
];
@ -370,6 +371,29 @@ same value using:
"#
}
fn engineq_tutor() -> &'static str {
r#"
Engine-q is the upcoming engine for Nushell. Build for speed and correctness,
it also comes with a set of changes from Nushell versions prior to 0.60. To
get ready for engine-q look for some of these changes that might impact your
current scripts:
* Engine-q now uses a few new data structures, including a record syntax
that allows you to model key-value pairs similar to JSON objects.
* Environment variables can now contain more than just strings. Structured
values are converted to strings for external commands using converters.
* `if` will now use an `else` keyword before the else block.
* We're moving from "config.toml" to "config.nu". This means startup will
now be a script file.
* `config` and its subcommands are being replaced by a record that you can
update in the shell which contains all the settings under the variable
`$config`.
* bigint/bigdecimal values are now machine i64 and f64 values
* And more, you can read more about upcoming changes in the up-to-date list
at: https://github.com/nushell/engine-q/issues/522
"#
}
fn display(tag: Tag, scope: &Scope, help: &str) -> OutputStream {
let help = help.split('`');

View File

@ -1,7 +1,8 @@
use crate::prelude::*;
use nu_engine::WholeStreamCommand;
use itertools::Either;
use nu_engine::{FromValue, WholeStreamCommand};
use nu_errors::ShellError;
use nu_protocol::{Signature, SyntaxShape, Value};
use nu_protocol::{Range, Signature, SpannedTypeName, SyntaxShape, Value};
use nu_source::Tagged;
pub struct SubCommand;
@ -14,11 +15,16 @@ impl WholeStreamCommand for SubCommand {
fn signature(&self) -> Signature {
Signature::build("drop nth")
.required(
"row number",
SyntaxShape::Int,
"the number of the row to drop",
"row number or row range",
// FIXME: we can make this accept either Int or Range when we can compose SyntaxShapes
SyntaxShape::Any,
"the number of the row to drop or a range to drop consecutive rows",
)
.rest(
"rest",
SyntaxShape::Any,
"Optionally drop more rows (Ignored if first argument is a range)",
)
.rest("rest", SyntaxShape::Any, "Optionally drop more rows")
}
fn usage(&self) -> &str {
@ -41,18 +47,46 @@ impl WholeStreamCommand for SubCommand {
example: "echo [first second third] | drop nth 0 2",
result: Some(vec![Value::from("second")]),
},
Example {
description: "Drop range rows from second to fourth",
example: "echo [first second third fourth fifth] | drop nth (1..3)",
result: Some(vec![Value::from("first"), Value::from("fifth")]),
},
]
}
}
fn drop(args: CommandArgs) -> Result<OutputStream, ShellError> {
let row_number: Tagged<u64> = args.req(0)?;
let and_rows: Vec<Tagged<u64>> = args.rest(1)?;
let input = args.input;
fn extract_int_or_range(args: &CommandArgs) -> Result<Either<u64, Range>, ShellError> {
let value = args.req::<Value>(0)?;
let mut rows: Vec<_> = and_rows.into_iter().map(|x| x.item as usize).collect();
rows.push(row_number.item as usize);
rows.sort_unstable();
let int_opt = value.as_u64().map(Either::Left).ok();
let range_opt = FromValue::from_value(&value).map(Either::Right).ok();
int_opt
.or(range_opt)
.ok_or_else(|| ShellError::type_error("int or range", value.spanned_type_name()))
}
fn drop(args: CommandArgs) -> Result<OutputStream, ShellError> {
let number_or_range = extract_int_or_range(&args)?;
let rows = match number_or_range {
Either::Left(row_number) => {
let and_rows: Vec<Tagged<u64>> = args.rest(1)?;
let mut rows: Vec<_> = and_rows.into_iter().map(|x| x.item as usize).collect();
rows.push(row_number as usize);
rows.sort_unstable();
rows
}
Either::Right(row_range) => {
let from = row_range.min_u64()? as usize;
let to = row_range.max_u64()? as usize;
(from..=to).collect()
}
};
let input = args.input;
Ok(DropNthIterator {
input,

View File

@ -197,7 +197,7 @@ fn process_row(
} else {
let mut obj = input.clone();
for column in column_paths.clone() {
for column in column_paths {
let path = UntaggedValue::Primitive(Primitive::ColumnPath(column.clone()))
.into_value(tag);
let data = r.get_data(&as_string(&path)?).borrow().clone();

View File

@ -112,9 +112,7 @@ fn process_row(
};
match input {
obj
@
Value {
obj @ Value {
value: UntaggedValue::Row(_),
..
} => match obj.insert_data_at_column_path(&field, result) {

View File

@ -117,9 +117,7 @@ fn process_row(
};
match input {
obj
@
Value {
obj @ Value {
value: UntaggedValue::Row(_),
..
} => match obj.replace_data_at_column_path(&field, result) {

View File

@ -86,16 +86,11 @@ fn zip<'a>(
) -> Result<Box<dyn Iterator<Item = Value> + 'a + Sync + Send>, ShellError> {
Ok(Box::new(l.zip(r?).map(move |(s1, s2)| match (s1, s2) {
(
left_row
@
Value {
left_row @ Value {
value: UntaggedValue::Row(_),
..
},
mut
right_row
@
Value {
mut right_row @ Value {
value: UntaggedValue::Row(_),
..
},

View File

@ -104,7 +104,7 @@ fn kill(args: CommandArgs) -> Result<ActionStream, ShellError> {
}
cmd.arg("-9");
} else if let Some(signal_value) = signal {
cmd.arg(format!("-{}", signal_value.item().to_string()));
cmd.arg(format!("-{}", signal_value.item()));
}
cmd.arg(pid.item().to_string());

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use nu_errors::ShellError;
use nu_protocol::{Signature, TaggedDictBuilder, UntaggedValue};
use sysinfo::{ProcessExt, System, SystemExt};
use sysinfo::{PidExt, ProcessExt, System, SystemExt};
pub struct Command;
@ -50,7 +50,7 @@ fn run_ps(args: CommandArgs) -> Result<OutputStream, ShellError> {
for pid in result {
if let Some(result) = sys.process(pid) {
let mut dict = TaggedDictBuilder::new(args.name_tag());
dict.insert_untagged("pid", UntaggedValue::int(pid as i64));
dict.insert_untagged("pid", UntaggedValue::int(pid.as_u32() as i64));
dict.insert_untagged("name", UntaggedValue::string(result.name()));
dict.insert_untagged(
"status",
@ -68,7 +68,7 @@ fn run_ps(args: CommandArgs) -> Result<OutputStream, ShellError> {
if long {
if let Some(parent) = result.parent() {
dict.insert_untagged("parent", UntaggedValue::int(parent as i64));
dict.insert_untagged("parent", UntaggedValue::int(parent.as_u32() as i64));
} else {
dict.insert_untagged("parent", UntaggedValue::nothing());
}

View File

@ -66,3 +66,25 @@ fn more_rows_than_table_has() {
assert_eq!(actual.out, "0");
}
#[test]
fn nth_range_inclusive() {
let actual = nu!(cwd: ".", "echo 10..15 | drop nth (2..3) | to json");
assert_eq!(actual.out, "[10,11,14,15]");
}
#[test]
fn nth_range_exclusive() {
let actual = nu!(cwd: ".", "echo 10..15 | drop nth (1..<3) | to json");
assert_eq!(actual.out, "[10,13,14,15]");
}
#[test]
fn nth_missing_first_argument() {
let actual = nu!(cwd: ".", "echo 10..15 | drop nth \"\"");
assert!(actual.err.contains("Expected int or range"));
assert!(actual.err.contains("found string"));
}

View File

@ -4,19 +4,19 @@ description = "Completions for nushell"
edition = "2018"
license = "MIT"
name = "nu-completion"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-engine = { version = "0.42.0", path="../nu-engine" }
nu-data = { version = "0.42.0", path="../nu-data" }
nu-parser = { version = "0.42.0", path="../nu-parser" }
nu-path = { version = "0.42.0", path="../nu-path" }
nu-protocol = { version = "0.42.0", path="../nu-protocol" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-test-support = { version = "0.42.0", path="../nu-test-support" }
nu-engine = { version = "0.44.0", path="../nu-engine" }
nu-data = { version = "0.44.0", path="../nu-data" }
nu-parser = { version = "0.44.0", path="../nu-parser" }
nu-path = { version = "0.44.0", path="../nu-path" }
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
nu-source = { version = "0.44.0", path="../nu-source" }
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
indexmap = { version="1.6.1", features=["serde-1"] }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]

View File

@ -1,10 +1,10 @@
[package]
authors = ["The Nu Project Contributors"]
description = "CLI for nushell"
description = "Data for Nushell"
edition = "2018"
license = "MIT"
name = "nu-data"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
@ -27,14 +27,14 @@ sha2 = "0.9.3"
sys-locale = "0.1.0"
toml = "0.5.8"
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-path = { version = "0.42.0", path="../nu-path" }
nu-protocol = { version = "0.42.0", path="../nu-protocol" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-table = { version = "0.42.0", path="../nu-table" }
nu-test-support = { version = "0.42.0", path="../nu-test-support" }
nu-value-ext = { version = "0.42.0", path="../nu-value-ext" }
nu-ansi-term = { version = "0.42.0", path="../nu-ansi-term" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-path = { version = "0.44.0", path="../nu-path" }
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
nu-source = { version = "0.44.0", path="../nu-source" }
nu-table = { version = "0.44.0", path="../nu-table" }
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
nu-value-ext = { version = "0.44.0", path="../nu-value-ext" }
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
[features]
dataframe = ["nu-protocol/dataframe"]

View File

@ -4,20 +4,20 @@ description = "Core commands for nushell"
edition = "2018"
license = "MIT"
name = "nu-engine"
version = "0.42.0"
version = "0.44.0"
[dependencies]
nu-data = { version = "0.42.0", path="../nu-data" }
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-parser = { version = "0.42.0", path="../nu-parser" }
nu-plugin = { version = "0.42.0", path="../nu-plugin" }
nu-protocol = { version = "0.42.0", path="../nu-protocol" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-stream = { version = "0.42.0", path="../nu-stream" }
nu-value-ext = { version = "0.42.0", path="../nu-value-ext" }
nu-ansi-term = { version = "0.42.0", path="../nu-ansi-term" }
nu-test-support = { version = "0.42.0", path="../nu-test-support" }
nu-path = { version = "0.42.0", path="../nu-path" }
nu-data = { version = "0.44.0", path="../nu-data" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-parser = { version = "0.44.0", path="../nu-parser" }
nu-plugin = { version = "0.44.0", path="../nu-plugin" }
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
nu-source = { version = "0.44.0", path="../nu-source" }
nu-stream = { version = "0.44.0", path="../nu-stream" }
nu-value-ext = { version = "0.44.0", path="../nu-value-ext" }
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
nu-path = { version = "0.44.0", path="../nu-path" }
trash = { version = "2.0.2", optional = true }
which = { version="4.0.2", optional=true }
@ -50,7 +50,7 @@ umask = "1.0.0"
users = "0.11.0"
[dev-dependencies]
nu-test-support = { version = "0.42.0", path="../nu-test-support" }
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
hamcrest2 = "0.3.0"
[features]

View File

@ -970,7 +970,7 @@ fn move_item(from: &Path, from_tag: &Tag, to: &Path) -> Result<(), ShellError> {
} {
Ok(_) => Ok(()),
Err(e) => Err(ShellError::labeled_error(
format!("Could not move {:?} to {:?}. {:}", from, to, e.to_string()),
format!("Could not move {:?} to {:?}. {:}", from, to, e),
"could not move",
from_tag,
)),

View File

@ -147,7 +147,7 @@ pub fn process_script(
{
val.to_string()
} else {
format!("{}\\", name.to_string())
format!("{}\\", name)
}
} else {
name.to_string()

View File

@ -4,14 +4,14 @@ description = "Core error subsystem for Nushell"
edition = "2018"
license = "MIT"
name = "nu-errors"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-source = { path="../nu-source", version = "0.42.0" }
nu-ansi-term = { version = "0.42.0", path="../nu-ansi-term" }
nu-source = { path="../nu-source", version = "0.44.0" }
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
codespan-reporting = { version="0.11.0", features=["serialization"] }

View File

@ -4,7 +4,7 @@ description = "Fork of serde-hjson"
edition = "2018"
license = "MIT"
name = "nu-json"
version = "0.42.0"
version = "0.44.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -20,6 +20,6 @@ lazy_static = "1"
linked-hash-map = { version="0.5", optional=true }
[dev-dependencies]
nu-path = { version = "0.42.0", path="../nu-path" }
nu-test-support = { version = "0.42.0", path="../nu-test-support" }
nu-path = { version = "0.44.0", path="../nu-path" }
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
serde_json = "1.0.39"

View File

@ -4,7 +4,7 @@ description = "Nushell parser"
edition = "2018"
license = "MIT"
name = "nu-parser"
version = "0.42.0"
version = "0.44.0"
[dependencies]
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
@ -15,12 +15,12 @@ num-bigint = { version="0.4.3", features=["serde"] }
itertools = "0.10.0"
smart-default = "0.6.0"
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-data = { version = "0.42.0", path="../nu-data" }
nu-path = { version = "0.42.0", path="../nu-path" }
nu-protocol = { version = "0.42.0", path="../nu-protocol" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-test-support = { version = "0.42.0", path="../nu-test-support" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-data = { version = "0.44.0", path="../nu-data" }
nu-path = { version = "0.44.0", path="../nu-path" }
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
nu-source = { version = "0.44.0", path="../nu-source" }
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
[features]
stable = []

View File

@ -75,7 +75,7 @@ fn find_source_file(
let path = canonicalize(&file).map_err(|e| {
ParseError::general_error(
format!("Can't load source file. Reason: {}", e.to_string()),
format!("Can't load source file. Reason: {}", e),
"Can't load this file".spanned(file_span),
)
})?;
@ -85,7 +85,7 @@ fn find_source_file(
match contents {
Ok(contents) => parse(&contents, 0, scope),
Err(e) => Err(ParseError::general_error(
format!("Can't load source file. Reason: {}", e.to_string()),
format!("Can't load source file. Reason: {}", e),
"Can't load this file".spanned(file_span),
)),
}

View File

@ -4,7 +4,7 @@ description = "Path handling library for Nushell"
edition = "2018"
license = "MIT"
name = "nu-path"
version = "0.42.0"
version = "0.44.0"
[dependencies]
dirs-next = "2.0.0"

View File

@ -4,17 +4,17 @@ description = "Nushell Plugin"
edition = "2018"
license = "MIT"
name = "nu-plugin"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-test-support = { path="../nu-test-support", version = "0.42.0" }
nu-value-ext = { path="../nu-value-ext", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
nu-test-support = { path="../nu-test-support", version = "0.44.0" }
nu-value-ext = { path="../nu-value-ext", version = "0.44.0" }
indexmap = { version="1.6.1", features=["serde-1"] }
serde = { version="1.0", features=["derive"] }
serde_json = "1.0"

View File

@ -4,7 +4,7 @@ description = "Pretty hex dump of bytes slice in the common style."
edition = "2018"
license = "MIT"
name = "nu-pretty-hex"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
@ -16,7 +16,7 @@ name = "nu_pretty_hex"
path = "src/main.rs"
[dependencies]
nu-ansi-term = { path="../nu-ansi-term", version = "0.42.0" }
nu-ansi-term = { path="../nu-ansi-term", version = "0.44.0" }
rand = "0.8.3"
[dev-dependencies]

View File

@ -4,7 +4,7 @@ description = "Core values and protocols for Nushell"
edition = "2018"
license = "MIT"
name = "nu-protocol"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
@ -18,8 +18,8 @@ derive-new = "0.5.8"
getset = "0.1.1"
indexmap = { version="1.6.1", features=["serde-1"] }
log = "0.4.14"
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
num-bigint = { version = "0.4.3", features = ["serde"] }
num-integer = "0.1.44"
num-traits = "0.2.14"

View File

@ -573,9 +573,7 @@ impl Value {
value: UntaggedValue::Table(rows),
..
} => rows.is_empty(),
r
@
Value {
r @ Value {
value: UntaggedValue::Row(_),
..
} => r.row_entries().all(|(_, value)| value.is_empty()),

View File

@ -1,6 +1,6 @@
[package]
name = "nu-serde"
version = "0.42.0"
version = "0.44.0"
edition = "2018"
authors = ["The Nu Project Contributors"]
description = "Turn any value into a nu-protocol::Value with serde"
@ -10,8 +10,8 @@ documentation = "https://docs.rs/nu-serde"
[dependencies]
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
nu-protocol = { version = "0.42.0", path = "../nu-protocol" }
nu-source = { version = "0.42.0", path = "../nu-source" }
nu-protocol = { version = "0.44.0", path = "../nu-protocol" }
nu-source = { version = "0.44.0", path = "../nu-source" }
serde = "1"
thiserror = "1"

View File

@ -4,7 +4,7 @@ description = "A source string characterizer for Nushell"
edition = "2018"
license = "MIT"
name = "nu-source"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false

View File

@ -4,12 +4,12 @@ description = "Nushell stream"
edition = "2018"
license = "MIT"
name = "nu-stream"
version = "0.42.0"
version = "0.44.0"
[dependencies]
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-protocol = { version = "0.42.0", path="../nu-protocol" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
nu-source = { version = "0.44.0", path="../nu-source" }
[features]
stable = []

View File

@ -4,7 +4,7 @@ description = "Nushell table printing"
edition = "2018"
license = "MIT"
name = "nu-table"
version = "0.42.0"
version = "0.44.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[[bin]]
@ -13,7 +13,7 @@ path = "src/main.rs"
[dependencies]
atty = "0.2.14"
nu-ansi-term = { version = "0.42.0", path="../nu-ansi-term" }
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
regex = "1.4"
strip-ansi-escapes = "0.1.1"

View File

@ -4,16 +4,16 @@ description = "Support for writing Nushell tests"
edition = "2018"
license = "MIT"
name = "nu-test-support"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-path = { version = "0.42.0", path="../nu-path" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-path = { version = "0.44.0", path="../nu-path" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
chrono = "0.4.19"

View File

@ -97,7 +97,7 @@ impl Executable for Director {
.spawn()
{
Ok(child) => child,
Err(why) => panic!("Can't run test {}", why.to_string()),
Err(why) => panic!("Can't run test {}", why),
};
if let Some(pipelines) = &self.pipeline {

View File

@ -4,15 +4,15 @@ description = "Extension traits for values in Nushell"
edition = "2018"
license = "MIT"
name = "nu-value-ext"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
indexmap = { version="1.6.1", features=["serde-1"] }
itertools = "0.10.0"

View File

@ -4,7 +4,7 @@ description = "A binary viewer plugin for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_binaryview"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
@ -13,12 +13,12 @@ doctest = false
crossterm = "0.19"
image = { version = "0.23.14", default_features = false, features = ["png", "jpeg"] }
neso = "0.5.0"
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-ansi-term = { version = "0.42.0", path="../nu-ansi-term" }
nu-pretty-hex = { version = "0.42.0", path="../nu-pretty-hex" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
nu-pretty-hex = { version = "0.44.0", path="../nu-pretty-hex" }
rawkey = "0.1.3"
[build-dependencies]

View File

@ -4,18 +4,18 @@ description = "A plugin to display charts"
edition = "2018"
license = "MIT"
name = "nu_plugin_chart"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-data = { path="../nu-data", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-value-ext = { path="../nu-value-ext", version = "0.42.0" }
nu-data = { path="../nu-data", version = "0.44.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
nu-value-ext = { path="../nu-value-ext", version = "0.44.0" }
crossterm = "0.19.0"
tui = { version="0.15.0", default-features=false, features=["crossterm"] }

View File

@ -4,7 +4,7 @@ description = "A converter plugin to the bson format for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_from_bson"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
@ -12,9 +12,9 @@ doctest = false
[dependencies]
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
bson = { version = "2.0.1", features = [ "chrono-0_4" ] }
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
[build-dependencies]

View File

@ -4,16 +4,16 @@ description = "A converter plugin to the mp4 format for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_from_mp4"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
tempfile = "3.2.0"
mp4 = "0.9.0"

View File

@ -4,17 +4,17 @@ description = "A converter plugin to the bson format for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_from_sqlite"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
tempfile = "3.2.0"
[dependencies.rusqlite]

View File

@ -4,18 +4,18 @@ description = "A version incrementer plugin for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_inc"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-test-support = { path="../nu-test-support", version = "0.42.0" }
nu-value-ext = { path="../nu-value-ext", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
nu-test-support = { path="../nu-test-support", version = "0.44.0" }
nu-value-ext = { path="../nu-value-ext", version = "0.44.0" }
semver = "0.11.0"

View File

@ -49,9 +49,7 @@ impl Plugin for Inc {
if let Some(args) = call_info.args.positional {
for arg in args {
match arg {
table
@
Value {
table @ Value {
value: UntaggedValue::Primitive(Primitive::ColumnPath(_)),
..
} => {

View File

@ -4,15 +4,15 @@ description = "A regex match plugin for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_match"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
regex = "1.4.3"
[build-dependencies]

View File

@ -4,14 +4,14 @@ description = "query json files with gjson"
edition = "2018"
license = "MIT"
name = "nu_plugin_query_json"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
gjson = "0.8.0"
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-plugin = { version = "0.42.0", path="../nu-plugin" }
nu-protocol = { version = "0.42.0", path="../nu-protocol" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-plugin = { version = "0.44.0", path="../nu-plugin" }
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
nu-source = { version = "0.44.0", path="../nu-source" }

View File

@ -4,17 +4,17 @@ description = "An S3 plugin for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_s3"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
futures = { version="0.3.12", features=["compat", "io-compat"] }
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
s3handler = "0.7.5"
[build-dependencies]

View File

@ -4,17 +4,17 @@ description = "web scraping using css selector"
edition = "2018"
license = "MIT"
name = "nu_plugin_selector"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
scraper = "0.12.0"
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-plugin = { version = "0.42.0", path="../nu-plugin" }
nu-protocol = { version = "0.42.0", path="../nu-protocol" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-plugin = { version = "0.44.0", path="../nu-plugin" }
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
nu-source = { version = "0.44.0", path="../nu-source" }
[dev-dependencies]
indexmap = { version="1.7", features=["serde-1"] }

View File

@ -4,17 +4,17 @@ description = "A plugin to open files/URLs directly from Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_start"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
glob = "0.3.0"
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
url = "2.2.0"
webbrowser = "0.5.5"
@ -22,5 +22,5 @@ webbrowser = "0.5.5"
open = "1.4.0"
[build-dependencies]
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-source = { version = "0.44.0", path="../nu-source" }

View File

@ -4,17 +4,17 @@ description = "Text viewer plugin for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_textview"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-data = { path="../nu-data", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-data = { path="../nu-data", version = "0.44.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
bat = { version="0.18", default-features = false, features=["regex-onig", "paging", "git"] }
term_size = "0.3.2"

View File

@ -4,17 +4,17 @@ description = "A converter plugin to the bson format for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_to_bson"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
bson = { version = "2.0.1", features = [ "chrono-0_4" ] }
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
num-traits = "0.2.14"
[features]

View File

@ -4,17 +4,17 @@ description = "A converter plugin to the SQLite format for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_to_sqlite"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
hex = "0.4.2"
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-source = { path="../nu-source", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
nu-source = { path="../nu-source", version = "0.44.0" }
tempfile = "3.2.0"
[dependencies.rusqlite]

View File

@ -4,16 +4,16 @@ description = "Tree viewer plugin for Nushell"
edition = "2018"
license = "MIT"
name = "nu_plugin_tree"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
derive-new = "0.5.8"
nu-errors = { path="../nu-errors", version = "0.42.0" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { path="../nu-protocol", version = "0.42.0" }
nu-errors = { path="../nu-errors", version = "0.44.0" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
ptree = { version = "0.4.0", default-features = false }

View File

@ -4,16 +4,16 @@ description = "Traverses xml"
edition = "2018"
license = "MIT"
name = "nu_plugin_xpath"
version = "0.42.0"
version = "0.44.0"
[lib]
doctest = false
[dependencies]
nu-errors = { version = "0.42.0", path="../nu-errors" }
nu-plugin = { path="../nu-plugin", version = "0.42.0" }
nu-protocol = { version = "0.42.0", path="../nu-protocol" }
nu-source = { version = "0.42.0", path="../nu-source" }
nu-errors = { version = "0.44.0", path="../nu-errors" }
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
nu-source = { version = "0.44.0", path="../nu-source" }
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
indexmap = { version="1.6.1", features=["serde-1"] }
@ -21,4 +21,4 @@ sxd-document = "0.3.2"
sxd-xpath = "0.4.2"
[dev-dependencies]
nu-test-support = { path="../nu-test-support", version = "0.42.0" }
nu-test-support = { path="../nu-test-support", version = "0.44.0" }

5
debian/changelog vendored
View File

@ -1,5 +0,0 @@
nu (0.2.0-1) unstable; urgency=low
* Initial release
-- Jan Koprowski <jan.koprowski@gmail.com> Wed, 04 Sep 2019 21:38:44 +0200

1
debian/compat vendored
View File

@ -1 +0,0 @@
10

18
debian/control vendored
View File

@ -1,18 +0,0 @@
Source: nu
Section: shells
Priority: optional
Maintainer: Jan Koprowski <jan.koprowski@gmail.com>
Build-Depends: debhelper (>= 10)
Standards-Version: 4.1.2
Homepage: https://github.com/nushell/nushell
Vcs-Git: https://github.com/nushell/nushell.git
Vcs-Browser: https://github.com/nushell/nushell
Package: nu
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: A modern shell for the GitHub era
The goal of this project is to take the Unix
philosophy of shells, where pipes connect simple
commands together, and bring it to the modern
style of development.

32
debian/copyright vendored
View File

@ -1,32 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: nu
Source: https://github.com/nushell/nushell
Files: *
Copyright: 2019 Yehuda Katz
2019 Jonathan Turner
License: MIT
Files: debian/*
Copyright: 2019 Yehuda Katz
2019 Jonathan Turner
License: MIT
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

11
debian/install vendored
View File

@ -1,11 +0,0 @@
target/release/nu usr/bin
target/release/nu_plugin_binaryview usr/bin
target/release/nu_plugin_edit usr/bin
target/release/nu_plugin_inc usr/bin
target/release/nu_plugin_skip usr/bin
target/release/nu_plugin_str usr/bin
target/release/nu_plugin_sum usr/bin
target/release/nu_plugin_sys usr/bin
target/release/nu_plugin_textview usr/bin
target/release/nu_plugin_tree usr/bin
target/release/nu_plugin_docker usr/bin

8
debian/postinst vendored
View File

@ -1,8 +0,0 @@
#! /bin/bash
if [ "$1" = configure ] && which add-shell >/dev/null
then
add-shell /usr/bin/nu
fi
exit 0

17
debian/postrm vendored
View File

@ -1,17 +0,0 @@
#!/bin/sh
set -e
case "$1" in
upgrade|failed-upgrade|abort-install|abort-upgrade)
;;
remove|purge|disappear)
if which remove-shell >/dev/null && [ -f /etc/shells ]; then
remove-shell /usr/bin/nu
fi
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac

25
debian/rules vendored
View File

@ -1,25 +0,0 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1,11 +0,0 @@
ARG FROMTAG=latest
FROM quay.io/nushell/nu-base:${FROMTAG} as base
FROM ubuntu:18.04
COPY --from=base /usr/local/bin/nu /usr/local/bin/nu
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update \
&& apt-get install -y libssl-dev pkg-config \
&& apt-get clean \
&& rm -fr /var/lib/apt/lists/*
ENTRYPOINT ["nu"]
CMD ["-l", "info"]

View File

@ -1,26 +0,0 @@
FROM ubuntu:18.04
# docker build -f docker/Dockerfile.nu-base -t nushell/nu-base .
# docker run -it nushell/nu-base
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y libssl-dev \
libxcb-composite0-dev \
pkg-config \
libx11-dev \
curl
ARG RELEASE=false
WORKDIR /code
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path --default-toolchain "stable"
ENV PATH=/root/.cargo/bin:$PATH
RUN rustup update
COPY . /code
RUN echo "##vso[task.prependpath]/root/.cargo/bin" && \
rustc -Vv && \
if $RELEASE; then cargo build --release; \
cp target/release/nu /usr/local/bin; \
else cargo build; \
cp target/debug/nu /usr/local/bin; fi;
ENTRYPOINT ["nu"]
CMD ["-l", "info"]

View File

@ -1,7 +0,0 @@
ARG base
FROM ${base}
ARG artifact
COPY ${artifact} /bin/
ENTRYPOINT ["/bin/nu"]

View File

@ -1,15 +0,0 @@
ARG base
FROM debian:stable-slim AS patch
FROM ${base}
ARG artifact
COPY ${artifact} /bin/
COPY --from=patch \
/lib/x86_64-linux-gnu/libz.so.1 \
/lib/x86_64-linux-gnu/libdl.so.2 \
/lib/x86_64-linux-gnu/librt.so.1 \
/lib/x86_64-linux-gnu/libgcc_s.so.1 \
/lib/x86_64-linux-gnu/
ENTRYPOINT ["/bin/nu"]

View File

@ -1,12 +0,0 @@
ARG base
FROM debian:stable-slim AS patch
FROM ${base}
ARG artifact
COPY ${artifact} /bin/
COPY --from=patch \
/lib/x86_64-linux-gnu/libz.so.1 \
/lib/x86_64-linux-gnu/
ENTRYPOINT ["/bin/nu"]

View File

@ -1,11 +0,0 @@
version: '3'
services:
nushell:
image: ${DOCKER_REGISTRY}/nu:${DOCKER_TAG}
build:
context: ..
dockerfile: docker/Package${PATCH}.Dockerfile
args:
base: ${BASE_IMAGE}
artifact: ${NU_BINS}

View File

@ -1,17 +0,0 @@
# docker build -f docker/packaging/Dockerfile.ubuntu-bionic .
ARG FROMTAG=latest
FROM quay.io/nushell/nu-base:${FROMTAG}
RUN apt-get update && apt-get install -y \
devscripts \
debhelper
COPY debian /code/debian
RUN rustc -Vv && cargo build --release && \
cp README.md debian/README.Debian && \
debuild -b -us -uc -i && \
dpkg -i ../nu_0.2.0-1_amd64.deb && \
chsh -s /usr/bin/nu && \
echo 'ls | get name ' | /usr/bin/nu

View File

@ -1,55 +0,0 @@
# Packaging
This directory contains docker images used for creating packages for different distribution.
## How to use this docker files
Start with:
```bash
docker build -f docker/packaging/Dockerfile.ubuntu-bionic -t nushell/package:ubuntu-bionic .
```
after building the image please run container:
```bash
docker run -td --rm --name nushell_package_ubuntu_bionic nushell/package:ubuntu-bionic
```
and copy deb package from inside:
```bash
docker cp nushell_package_ubuntu_bionic:/nu_0.2.0-1_amd64.deb .
```
or shell inside, and test install:
```bash
docker exec -it nushell_package_ubuntu_bionic bash
dpkg -i /nu_0.2.0-1_amd64.deb
(Reading database ... 25656 files and directories currently installed.)
Preparing to unpack /nu_0.2.0-1_amd64.deb ...
Unpacking nu (0.2.0-1) over (0.2.0-1) ...
Setting up nu (0.2.0-1) ...
```
When you are finished, exit and stop the container. It will be removed since we
used `--rm`.
```bash
docker stop nushell_package_ubuntu_bionic
```
## What should be done
* We should run sbuild command to create chroot and then install dpkg.
For two reasons. First: we want to use the same tools as Ubuntu package builders
to handle the cornercases. Second: we want to test dpkg requirements.
<https://github.com/nushell/nushell/issues/681>
* File debian/changelog file should be generated based on git history.
<https://github.com/nushell/nushell/issues/682>
* Building package and nu version should be parametrized.
<https://github.com/nushell/nushell/issues/683>

View File

@ -86,7 +86,7 @@ version = "0.4.6"
[dependencies.cursive]
default-features = false
features = ["pancurses-backend"]
version = "0.42.0"
version = "0.44.0"
[dependencies.futures-preview]
features = ["compat", "io-compat"]

View File

@ -14,7 +14,11 @@ pivot_mode = "auto" # auto, always, never
ctrlc_exit = false
complete_from_path = true
rm_always_trash = true
prompt = "build-string (ansi gb) (pwd) (ansi reset) '(' (ansi cb) (do -i { git rev-parse --abbrev-ref HEAD } | str trim ) (ansi reset) ')' (char newline) (ansi yb) (date format '%m/%d/%Y %I:%M:%S%.3f %p') (ansi reset) '> ' "
[env]
# nu now reads PROMPT_COMMAND env var instead of "prompt" config parameter
# and if fails to parse it, it silently ignores it and uses default prompt
PROMPT_COMMAND = "build-string (ansi gb) (pwd) (ansi reset) '(' (ansi cb) (do -i { git rev-parse --abbrev-ref HEAD } | str trim ) (ansi reset) ')' (char newline) (ansi yb) (date format '%m/%d/%Y %I:%M:%S%.3f %p') (ansi reset) '> ' "
# for each of the options in the color_config section, you are able to set
# the color alone or with one of the following attributes.

View File

@ -45,9 +45,9 @@
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"follow-redirects": {
"version": "1.14.4",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz",
"integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g=="
"version": "1.14.7",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz",
"integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ=="
},
"fs-minipass": {
"version": "2.1.0",

View File

@ -12,9 +12,9 @@ pub mod support {
pub fn in_path(dirs: &Dirs, block: impl FnOnce() -> Outcome) -> Outcome {
let for_env_manifest = dirs.test().to_string_lossy();
nu!(cwd: dirs.root(), format!("autoenv trust \"{}\"", for_env_manifest.to_string()));
nu!(cwd: dirs.root(), format!("autoenv trust \"{}\"", for_env_manifest));
let out = block();
nu!(cwd: dirs.root(), format!("autoenv untrust \"{}\"", for_env_manifest.to_string()));
nu!(cwd: dirs.root(), format!("autoenv untrust \"{}\"", for_env_manifest));
out
}