mirror of
https://github.com/nushell/nushell.git
synced 2025-07-04 16:40:47 +02:00
Compare commits
26 Commits
Author | SHA1 | Date | |
---|---|---|---|
a660720b68 | |||
265ee1281d | |||
cdc8e67d61 | |||
4e8e03867c | |||
49e8af8ea5 | |||
d5d61d14b3 | |||
f562a4526c | |||
e6c09f2dfc | |||
73a68954c4 | |||
476d543dee | |||
398502b0d6 | |||
62011b6bcc | |||
1214cd57e8 | |||
6cd124ddb2 | |||
d32aec5906 | |||
e919f9a73b | |||
a3c349746f | |||
b5f8f64d79 | |||
1576b959f9 | |||
4096f52003 | |||
7ceb668419 | |||
420aee18ca | |||
15e9c11849 | |||
9fd680ae2b | |||
ad94ed5e13 | |||
1bdcdcca70 |
@ -16,7 +16,7 @@ strategy:
|
|||||||
image: ubuntu-18.04
|
image: ubuntu-18.04
|
||||||
style: 'wasm'
|
style: 'wasm'
|
||||||
macos-stable:
|
macos-stable:
|
||||||
image: macos-10.14
|
image: macOS-10.15
|
||||||
style: 'unflagged'
|
style: 'unflagged'
|
||||||
windows-stable:
|
windows-stable:
|
||||||
image: windows-2019
|
image: windows-2019
|
||||||
|
@ -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
|
|
@ -1 +0,0 @@
|
|||||||
target
|
|
30
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
30
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -5,7 +5,7 @@ body:
|
|||||||
id: description
|
id: description
|
||||||
attributes:
|
attributes:
|
||||||
label: Describe the bug
|
label: Describe the bug
|
||||||
description: A clear and concise description of what the bug is.
|
description: Thank you for your bug report. We are working diligently with our community to integrate our latest code base that we call [engine-q](https://github.com/nushell/engine-q). We would like your help with this by checking to see if this bug report is still needed in engine-q. Thank you for your patience while we ready the next version of nushell.
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
@ -38,22 +38,20 @@ body:
|
|||||||
id: config
|
id: config
|
||||||
attributes:
|
attributes:
|
||||||
label: Configuration
|
label: Configuration
|
||||||
description: "Please run `> version | pivot key value | to md` and paste the output to show OS, features, etc"
|
description: "Please run `version | pivot key value | to md --pretty` and paste the output to show OS, features, etc."
|
||||||
placeholder: |
|
placeholder: |
|
||||||
> version | pivot key value | to md
|
> version | pivot key value | to md --pretty
|
||||||
╭───┬────────────────────┬───────────────────────────────────────────────────────────────────────╮
|
| key | value |
|
||||||
│ # │ key │ value │
|
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
├───┼────────────────────┼───────────────────────────────────────────────────────────────────────┤
|
| version | 0.40.0 |
|
||||||
│ 0 │ version │ 0.24.1 │
|
| build_os | linux-x86_64 |
|
||||||
│ 1 │ build_os │ macos-x86_64 │
|
| rust_version | rustc 1.56.1 |
|
||||||
│ 2 │ rust_version │ rustc 1.48.0 │
|
| cargo_version | cargo 1.56.0 |
|
||||||
│ 3 │ cargo_version │ cargo 1.48.0 │
|
| pkg_version | 0.40.0 |
|
||||||
│ 4 │ pkg_version │ 0.24.1 │
|
| build_time | 1980-01-01 00:00:00 +00:00 |
|
||||||
│ 5 │ build_time │ 2020-12-18 09:54:09 │
|
| build_rust_channel | release |
|
||||||
│ 6 │ build_rust_channel │ release │
|
| features | clipboard-cli, ctrlc, dataframe, default, rustyline, term, trash, uuid, which, zip |
|
||||||
│ 7 │ features │ ctrlc, default, directories, dirs, git, ichwh, rich-benchmark, │
|
| installed_plugins | binaryview, chart bar, chart line, fetch, from bson, from sqlite, inc, match, post, ps, query json, s3, selector, start, sys, textview, to bson, to sqlite, tree, xpath |
|
||||||
│ │ │ rustyline, term, uuid, which, zip │
|
|
||||||
╰───┴────────────────────┴───────────────────────────────────────────────────────────────────────╯
|
|
||||||
validations:
|
validations:
|
||||||
required: false
|
required: false
|
||||||
- type: textarea
|
- type: textarea
|
||||||
|
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@ -5,7 +5,7 @@ body:
|
|||||||
id: problem
|
id: problem
|
||||||
attributes:
|
attributes:
|
||||||
label: Related problem
|
label: Related problem
|
||||||
description: Is your feature request related to a problem? Please describe.
|
description: Thank you for your feature request. We are working diligently with our community to integrate our latest code base that we call [engine-q](https://github.com/nushell/engine-q). We would like your help with this by checking to see if this feature request is still needed in engine-q. Thank you for your patience while we ready the next version of nushell.
|
||||||
placeholder: |
|
placeholder: |
|
||||||
A clear and concise description of what the problem is.
|
A clear and concise description of what the problem is.
|
||||||
Example: I am trying to do [...] but [...]
|
Example: I am trying to do [...] but [...]
|
||||||
|
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@ -215,7 +215,7 @@ jobs:
|
|||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
command: install
|
command: install
|
||||||
args: cargo-wix
|
args: cargo-wix --version 0.3.1
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
|
18
.gitpod.Dockerfile
vendored
18
.gitpod.Dockerfile
vendored
@ -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
|
|
25
.gitpod.yml
25
.gitpod.yml
@ -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==
|
|
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"command": "cargo",
|
|
||||||
"args": [
|
|
||||||
"build"
|
|
||||||
],
|
|
||||||
"type": "process",
|
|
||||||
"label": "cargo",
|
|
||||||
}
|
|
||||||
],
|
|
||||||
}
|
|
149
Cargo.lock
generated
149
Cargo.lock
generated
@ -2,16 +2,6 @@
|
|||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
version = 3
|
version = 3
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "Inflector"
|
|
||||||
version = "0.11.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
|
|
||||||
dependencies = [
|
|
||||||
"lazy_static",
|
|
||||||
"regex",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "addr2line"
|
name = "addr2line"
|
||||||
version = "0.17.0"
|
version = "0.17.0"
|
||||||
@ -258,21 +248,6 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bit-set"
|
|
||||||
version = "0.5.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
|
|
||||||
dependencies = [
|
|
||||||
"bit-vec",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bit-vec"
|
|
||||||
version = "0.6.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitflags"
|
name = "bitflags"
|
||||||
version = "1.2.1"
|
version = "1.2.1"
|
||||||
@ -1123,16 +1098,6 @@ version = "0.1.9"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
|
checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "fancy-regex"
|
|
||||||
version = "0.7.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9d6b8560a05112eb52f04b00e5d3790c0dd75d9d980eb8a122fb23b92a623ccf"
|
|
||||||
dependencies = [
|
|
||||||
"bit-set",
|
|
||||||
"regex",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fd-lock"
|
name = "fd-lock"
|
||||||
version = "3.0.1"
|
version = "3.0.1"
|
||||||
@ -1548,6 +1513,12 @@ dependencies = [
|
|||||||
"unicode-segmentation",
|
"unicode-segmentation",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "heck"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hermit-abi"
|
name = "hermit-abi"
|
||||||
version = "0.1.19"
|
version = "0.1.19"
|
||||||
@ -1919,9 +1890,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.108"
|
version = "0.2.112"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119"
|
checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libgit2-sys"
|
name = "libgit2-sys"
|
||||||
@ -2281,7 +2252,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu"
|
name = "nu"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ctrlc",
|
"ctrlc",
|
||||||
"futures 0.3.18",
|
"futures 0.3.18",
|
||||||
@ -2321,7 +2292,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-ansi-term"
|
name = "nu-ansi-term"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"doc-comment",
|
"doc-comment",
|
||||||
"overload",
|
"overload",
|
||||||
@ -2333,7 +2304,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-cli"
|
name = "nu-cli"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ctrlc",
|
"ctrlc",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
@ -2360,9 +2331,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-command"
|
name = "nu-command"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"Inflector",
|
|
||||||
"base64",
|
"base64",
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"calamine",
|
"calamine",
|
||||||
@ -2381,6 +2351,7 @@ dependencies = [
|
|||||||
"futures 0.3.18",
|
"futures 0.3.18",
|
||||||
"glob",
|
"glob",
|
||||||
"hamcrest2",
|
"hamcrest2",
|
||||||
|
"heck 0.4.0",
|
||||||
"htmlescape",
|
"htmlescape",
|
||||||
"ical",
|
"ical",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
@ -2447,7 +2418,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-completion"
|
name = "nu-completion"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"is_executable",
|
"is_executable",
|
||||||
@ -2463,7 +2434,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-data"
|
name = "nu-data"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"byte-unit",
|
"byte-unit",
|
||||||
@ -2493,7 +2464,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-engine"
|
name = "nu-engine"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"bytes 1.1.0",
|
"bytes 1.1.0",
|
||||||
@ -2538,7 +2509,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-errors"
|
name = "nu-errors"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"codespan-reporting",
|
"codespan-reporting",
|
||||||
@ -2557,7 +2528,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-json"
|
name = "nu-json"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"linked-hash-map",
|
"linked-hash-map",
|
||||||
@ -2571,7 +2542,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-parser"
|
name = "nu-parser"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"derive-new",
|
"derive-new",
|
||||||
@ -2590,7 +2561,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-path"
|
name = "nu-path"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dirs-next",
|
"dirs-next",
|
||||||
"dunce",
|
"dunce",
|
||||||
@ -2598,7 +2569,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-plugin"
|
name = "nu-plugin"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
@ -2612,7 +2583,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-pretty-hex"
|
name = "nu-pretty-hex"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"heapless",
|
"heapless",
|
||||||
"nu-ansi-term",
|
"nu-ansi-term",
|
||||||
@ -2621,7 +2592,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-protocol"
|
name = "nu-protocol"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"byte-unit",
|
"byte-unit",
|
||||||
@ -2643,7 +2614,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-serde"
|
name = "nu-serde"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"insta",
|
"insta",
|
||||||
@ -2655,7 +2626,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-source"
|
name = "nu-source"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"derive-new",
|
"derive-new",
|
||||||
"getset",
|
"getset",
|
||||||
@ -2666,7 +2637,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-stream"
|
name = "nu-stream"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
"nu-protocol",
|
"nu-protocol",
|
||||||
@ -2675,7 +2646,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-table"
|
name = "nu-table"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"atty",
|
"atty",
|
||||||
"nu-ansi-term",
|
"nu-ansi-term",
|
||||||
@ -2686,7 +2657,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-test-support"
|
name = "nu-test-support"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"chrono",
|
"chrono",
|
||||||
@ -2704,7 +2675,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu-value-ext"
|
name = "nu-value-ext"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"itertools",
|
"itertools",
|
||||||
@ -2716,7 +2687,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_binaryview"
|
name = "nu_plugin_binaryview"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossterm",
|
"crossterm",
|
||||||
"image",
|
"image",
|
||||||
@ -2732,7 +2703,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_chart"
|
name = "nu_plugin_chart"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossterm",
|
"crossterm",
|
||||||
"nu-data",
|
"nu-data",
|
||||||
@ -2746,7 +2717,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_from_bson"
|
name = "nu_plugin_from_bson"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"bson",
|
"bson",
|
||||||
@ -2758,7 +2729,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_from_mp4"
|
name = "nu_plugin_from_mp4"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"mp4",
|
"mp4",
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
@ -2770,7 +2741,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_from_sqlite"
|
name = "nu_plugin_from_sqlite"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
@ -2783,7 +2754,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_inc"
|
name = "nu_plugin_inc"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
"nu-plugin",
|
"nu-plugin",
|
||||||
@ -2796,7 +2767,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_match"
|
name = "nu_plugin_match"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
"nu-plugin",
|
"nu-plugin",
|
||||||
@ -2806,7 +2777,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_query_json"
|
name = "nu_plugin_query_json"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gjson",
|
"gjson",
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
@ -2817,7 +2788,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_s3"
|
name = "nu_plugin_s3"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures 0.3.18",
|
"futures 0.3.18",
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
@ -2829,7 +2800,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_selector"
|
name = "nu_plugin_selector"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
@ -2841,7 +2812,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_start"
|
name = "nu_plugin_start"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"glob",
|
"glob",
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
@ -2855,7 +2826,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_textview"
|
name = "nu_plugin_textview"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bat",
|
"bat",
|
||||||
"nu-data",
|
"nu-data",
|
||||||
@ -2869,7 +2840,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_to_bson"
|
name = "nu_plugin_to_bson"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bson",
|
"bson",
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
@ -2881,7 +2852,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_to_sqlite"
|
name = "nu_plugin_to_sqlite"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex",
|
"hex",
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
@ -2894,7 +2865,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_tree"
|
name = "nu_plugin_tree"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"derive-new",
|
"derive-new",
|
||||||
"nu-errors",
|
"nu-errors",
|
||||||
@ -2905,7 +2876,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nu_plugin_xpath"
|
name = "nu_plugin_xpath"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bigdecimal",
|
"bigdecimal",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
@ -3112,6 +3083,28 @@ version = "1.8.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
|
checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "onig"
|
||||||
|
version = "6.3.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "67ddfe2c93bb389eea6e6d713306880c7f6dcc99a75b659ce145d962c861b225"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags",
|
||||||
|
"lazy_static",
|
||||||
|
"libc",
|
||||||
|
"onig_sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "onig_sys"
|
||||||
|
version = "69.7.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5dd3eee045c84695b53b20255bb7317063df090b68e18bfac0abb6c39cf7f33e"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"pkg-config",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "opaque-debug"
|
name = "opaque-debug"
|
||||||
version = "0.3.0"
|
version = "0.3.0"
|
||||||
@ -4474,7 +4467,7 @@ version = "0.20.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149"
|
checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"heck",
|
"heck 0.3.3",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn",
|
"syn",
|
||||||
@ -4538,11 +4531,11 @@ checksum = "8b20815bbe80ee0be06e6957450a841185fcf690fe0178f14d77a05ce2caa031"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"fancy-regex",
|
|
||||||
"flate2",
|
"flate2",
|
||||||
"fnv",
|
"fnv",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"lazycell",
|
"lazycell",
|
||||||
|
"onig",
|
||||||
"plist",
|
"plist",
|
||||||
"regex-syntax",
|
"regex-syntax",
|
||||||
"serde",
|
"serde",
|
||||||
@ -4577,9 +4570,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sysinfo"
|
name = "sysinfo"
|
||||||
version = "0.21.1"
|
version = "0.23.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "fb6c2c4a6ca462f07ca89841a2618dca6e405304d19ae238997e64915d89f513"
|
checksum = "9e757000a4bed2b1be9be65a3f418b9696adf30bb419214c73997422de73a591"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"core-foundation-sys",
|
"core-foundation-sys",
|
||||||
|
58
Cargo.toml
58
Cargo.toml
@ -10,7 +10,7 @@ license = "MIT"
|
|||||||
name = "nu"
|
name = "nu"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
repository = "https://github.com/nushell/nushell"
|
repository = "https://github.com/nushell/nushell"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
members = ["crates/*/"]
|
members = ["crates/*/"]
|
||||||
@ -18,34 +18,34 @@ members = ["crates/*/"]
|
|||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-cli = { version = "0.41.0", path="./crates/nu-cli", default-features=false }
|
nu-cli = { version = "0.44.0", path="./crates/nu-cli", default-features=false }
|
||||||
nu-command = { version = "0.41.0", path="./crates/nu-command" }
|
nu-command = { version = "0.44.0", path="./crates/nu-command" }
|
||||||
nu-completion = { version = "0.41.0", path="./crates/nu-completion" }
|
nu-completion = { version = "0.44.0", path="./crates/nu-completion" }
|
||||||
nu-data = { version = "0.41.0", path="./crates/nu-data" }
|
nu-data = { version = "0.44.0", path="./crates/nu-data" }
|
||||||
nu-engine = { version = "0.41.0", path="./crates/nu-engine" }
|
nu-engine = { version = "0.44.0", path="./crates/nu-engine" }
|
||||||
nu-errors = { version = "0.41.0", path="./crates/nu-errors" }
|
nu-errors = { version = "0.44.0", path="./crates/nu-errors" }
|
||||||
nu-parser = { version = "0.41.0", path="./crates/nu-parser" }
|
nu-parser = { version = "0.44.0", path="./crates/nu-parser" }
|
||||||
nu-path = { version = "0.41.0", path="./crates/nu-path" }
|
nu-path = { version = "0.44.0", path="./crates/nu-path" }
|
||||||
nu-plugin = { version = "0.41.0", path="./crates/nu-plugin" }
|
nu-plugin = { version = "0.44.0", path="./crates/nu-plugin" }
|
||||||
nu-protocol = { version = "0.41.0", path="./crates/nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="./crates/nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path="./crates/nu-source" }
|
nu-source = { version = "0.44.0", path="./crates/nu-source" }
|
||||||
nu-value-ext = { version = "0.41.0", path="./crates/nu-value-ext" }
|
nu-value-ext = { version = "0.44.0", path="./crates/nu-value-ext" }
|
||||||
|
|
||||||
nu_plugin_binaryview = { version = "0.41.0", path="./crates/nu_plugin_binaryview", optional=true }
|
nu_plugin_binaryview = { version = "0.44.0", path="./crates/nu_plugin_binaryview", optional=true }
|
||||||
nu_plugin_chart = { version = "0.41.0", path="./crates/nu_plugin_chart", optional=true }
|
nu_plugin_chart = { version = "0.44.0", path="./crates/nu_plugin_chart", optional=true }
|
||||||
nu_plugin_from_bson = { version = "0.41.0", path="./crates/nu_plugin_from_bson", optional=true }
|
nu_plugin_from_bson = { version = "0.44.0", path="./crates/nu_plugin_from_bson", optional=true }
|
||||||
nu_plugin_from_sqlite = { version = "0.41.0", path="./crates/nu_plugin_from_sqlite", optional=true }
|
nu_plugin_from_sqlite = { version = "0.44.0", path="./crates/nu_plugin_from_sqlite", optional=true }
|
||||||
nu_plugin_inc = { version = "0.41.0", path="./crates/nu_plugin_inc", optional=true }
|
nu_plugin_inc = { version = "0.44.0", path="./crates/nu_plugin_inc", optional=true }
|
||||||
nu_plugin_match = { version = "0.41.0", path="./crates/nu_plugin_match", optional=true }
|
nu_plugin_match = { version = "0.44.0", path="./crates/nu_plugin_match", optional=true }
|
||||||
nu_plugin_query_json = { version = "0.41.0", path="./crates/nu_plugin_query_json", optional=true }
|
nu_plugin_query_json = { version = "0.44.0", path="./crates/nu_plugin_query_json", optional=true }
|
||||||
nu_plugin_s3 = { version = "0.41.0", path="./crates/nu_plugin_s3", optional=true }
|
nu_plugin_s3 = { version = "0.44.0", path="./crates/nu_plugin_s3", optional=true }
|
||||||
nu_plugin_selector = { version = "0.41.0", path="./crates/nu_plugin_selector", optional=true }
|
nu_plugin_selector = { version = "0.44.0", path="./crates/nu_plugin_selector", optional=true }
|
||||||
nu_plugin_start = { version = "0.41.0", path="./crates/nu_plugin_start", optional=true }
|
nu_plugin_start = { version = "0.44.0", path="./crates/nu_plugin_start", optional=true }
|
||||||
nu_plugin_textview = { version = "0.41.0", path="./crates/nu_plugin_textview", optional=true }
|
nu_plugin_textview = { version = "0.44.0", path="./crates/nu_plugin_textview", optional=true }
|
||||||
nu_plugin_to_bson = { version = "0.41.0", path="./crates/nu_plugin_to_bson", optional=true }
|
nu_plugin_to_bson = { version = "0.44.0", path="./crates/nu_plugin_to_bson", optional=true }
|
||||||
nu_plugin_to_sqlite = { version = "0.41.0", path="./crates/nu_plugin_to_sqlite", optional=true }
|
nu_plugin_to_sqlite = { version = "0.44.0", path="./crates/nu_plugin_to_sqlite", optional=true }
|
||||||
nu_plugin_tree = { version = "0.41.0", path="./crates/nu_plugin_tree", optional=true }
|
nu_plugin_tree = { version = "0.44.0", path="./crates/nu_plugin_tree", optional=true }
|
||||||
nu_plugin_xpath = { version = "0.41.0", path="./crates/nu_plugin_xpath", optional=true }
|
nu_plugin_xpath = { version = "0.44.0", path="./crates/nu_plugin_xpath", optional=true }
|
||||||
|
|
||||||
# Required to bootstrap the main binary
|
# Required to bootstrap the main binary
|
||||||
ctrlc = { version="3.1.7", optional=true }
|
ctrlc = { version="3.1.7", optional=true }
|
||||||
@ -53,7 +53,7 @@ futures = { version="0.3.12", features=["compat", "io-compat"] }
|
|||||||
itertools = "0.10.0"
|
itertools = "0.10.0"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
nu-test-support = { version = "0.41.0", path="./crates/nu-test-support" }
|
nu-test-support = { version = "0.44.0", path="./crates/nu-test-support" }
|
||||||
serial_test = "0.5.1"
|
serial_test = "0.5.1"
|
||||||
hamcrest2 = "0.3.0"
|
hamcrest2 = "0.3.0"
|
||||||
rstest = "0.10.0"
|
rstest = "0.10.0"
|
||||||
|
15
README.md
15
README.md
@ -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/).
|
You can also find information on more specific topics in our [cookbook](https://www.nushell.sh/cookbook/).
|
||||||
|
|
||||||
Try it in Gitpod.
|
|
||||||
|
|
||||||
[](https://gitpod.io/#https://github.com/nushell/nushell)
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Local
|
### 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
|
0 │ assets │ Dir │ 128 B │ 5 months ago
|
||||||
1 │ crates │ Dir │ 704 B │ 50 mins ago
|
1 │ crates │ Dir │ 704 B │ 50 mins ago
|
||||||
2 │ debian │ Dir │ 352 B │ 5 months ago
|
2 │ debian │ Dir │ 352 B │ 5 months ago
|
||||||
3 │ docker │ Dir │ 288 B │ 3 months ago
|
3 │ docs │ Dir │ 192 B │ 50 mins ago
|
||||||
4 │ docs │ Dir │ 192 B │ 50 mins ago
|
4 │ images │ Dir │ 160 B │ 5 months ago
|
||||||
5 │ images │ Dir │ 160 B │ 5 months ago
|
5 │ src │ Dir │ 128 B │ 1 day ago
|
||||||
6 │ src │ Dir │ 128 B │ 1 day ago
|
6 │ target │ Dir │ 160 B │ 5 days ago
|
||||||
7 │ target │ Dir │ 160 B │ 5 days ago
|
7 │ tests │ Dir │ 192 B │ 3 months ago
|
||||||
8 │ tests │ Dir │ 192 B │ 3 months ago
|
|
||||||
───┴────────┴──────┴───────┴──────────────
|
───┴────────┴──────┴───────┴──────────────
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ description = "Library for ANSI terminal colors and styles (bold, underline)"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-ansi-term"
|
name = "nu-ansi-term"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
@ -231,7 +231,6 @@
|
|||||||
|
|
||||||
#![crate_name = "nu_ansi_term"]
|
#![crate_name = "nu_ansi_term"]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
#![crate_type = "dylib"]
|
|
||||||
#![warn(missing_copy_implementations)]
|
#![warn(missing_copy_implementations)]
|
||||||
// #![warn(missing_docs)]
|
// #![warn(missing_docs)]
|
||||||
#![warn(trivial_casts, trivial_numeric_casts)]
|
#![warn(trivial_casts, trivial_numeric_casts)]
|
||||||
|
@ -4,24 +4,24 @@ description = "CLI for nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-cli"
|
name = "nu-cli"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-completion = { version = "0.41.0", path="../nu-completion" }
|
nu-completion = { version = "0.44.0", path="../nu-completion" }
|
||||||
nu-command = { version = "0.41.0", path="../nu-command" }
|
nu-command = { version = "0.44.0", path="../nu-command" }
|
||||||
nu-data = { version = "0.41.0", path="../nu-data" }
|
nu-data = { version = "0.44.0", path="../nu-data" }
|
||||||
nu-engine = { version = "0.41.0", path="../nu-engine" }
|
nu-engine = { version = "0.44.0", path="../nu-engine" }
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-parser = { version = "0.41.0", path="../nu-parser" }
|
nu-parser = { version = "0.44.0", path="../nu-parser" }
|
||||||
nu-protocol = { version = "0.41.0", path="../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
nu-stream = { version = "0.41.0", path="../nu-stream" }
|
nu-stream = { version = "0.44.0", path="../nu-stream" }
|
||||||
nu-ansi-term = { version = "0.41.0", path="../nu-ansi-term" }
|
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
|
||||||
nu-path = { version = "0.41.0", path="../nu-path" }
|
nu-path = { version = "0.44.0", path="../nu-path" }
|
||||||
|
|
||||||
indexmap ="1.6.1"
|
indexmap ="1.6.1"
|
||||||
log = "0.4.14"
|
log = "0.4.14"
|
||||||
|
@ -91,10 +91,10 @@ pub fn run_script_file(
|
|||||||
fn default_prompt_string(cwd: &str) -> String {
|
fn default_prompt_string(cwd: &str) -> String {
|
||||||
format!(
|
format!(
|
||||||
"{}{}{}{}{}{}> ",
|
"{}{}{}{}{}{}> ",
|
||||||
Color::Green.bold().prefix().to_string(),
|
Color::Green.bold().prefix(),
|
||||||
cwd,
|
cwd,
|
||||||
nu_ansi_term::ansi::RESET,
|
nu_ansi_term::ansi::RESET,
|
||||||
Color::Cyan.bold().prefix().to_string(),
|
Color::Cyan.bold().prefix(),
|
||||||
current_branch(),
|
current_branch(),
|
||||||
nu_ansi_term::ansi::RESET
|
nu_ansi_term::ansi::RESET
|
||||||
)
|
)
|
||||||
|
@ -1,36 +1,36 @@
|
|||||||
[package]
|
[package]
|
||||||
authors = ["The Nu Project Contributors"]
|
authors = ["The Nu Project Contributors"]
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
description = "CLI for nushell"
|
description = "Commands for Nushell"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-command"
|
name = "nu-command"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-data = { version = "0.41.0", path="../nu-data" }
|
nu-data = { version = "0.44.0", path="../nu-data" }
|
||||||
nu-engine = { version = "0.41.0", path="../nu-engine" }
|
nu-engine = { version = "0.44.0", path="../nu-engine" }
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-json = { version = "0.41.0", path="../nu-json" }
|
nu-json = { version = "0.44.0", path="../nu-json" }
|
||||||
nu-path = { version = "0.41.0", path="../nu-path" }
|
nu-path = { version = "0.44.0", path="../nu-path" }
|
||||||
nu-parser = { version = "0.41.0", path="../nu-parser" }
|
nu-parser = { version = "0.44.0", path="../nu-parser" }
|
||||||
nu-plugin = { version = "0.41.0", path="../nu-plugin" }
|
nu-plugin = { version = "0.44.0", path="../nu-plugin" }
|
||||||
nu-protocol = { version = "0.41.0", path="../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
|
||||||
nu-serde = { version = "0.41.0", path="../nu-serde" }
|
nu-serde = { version = "0.44.0", path="../nu-serde" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
nu-stream = { version = "0.41.0", path="../nu-stream" }
|
nu-stream = { version = "0.44.0", path="../nu-stream" }
|
||||||
nu-table = { version = "0.41.0", path="../nu-table" }
|
nu-table = { version = "0.44.0", path="../nu-table" }
|
||||||
nu-test-support = { version = "0.41.0", path="../nu-test-support" }
|
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
|
||||||
nu-value-ext = { version = "0.41.0", path="../nu-value-ext" }
|
nu-value-ext = { version = "0.44.0", path="../nu-value-ext" }
|
||||||
nu-ansi-term = { version = "0.41.0", path="../nu-ansi-term" }
|
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
|
||||||
nu-pretty-hex = { version = "0.41.0", path="../nu-pretty-hex" }
|
nu-pretty-hex = { version = "0.44.0", path="../nu-pretty-hex" }
|
||||||
|
|
||||||
url = "2.2.1"
|
url = "2.2.1"
|
||||||
mime = "0.3.16"
|
mime = "0.3.16"
|
||||||
Inflector = "0.11"
|
heck = "0.4.0"
|
||||||
base64 = "0.13.0"
|
base64 = "0.13.0"
|
||||||
bigdecimal = { version = "0.3.0", features = ["serde"] }
|
bigdecimal = { version = "0.3.0", features = ["serde"] }
|
||||||
calamine = "0.18.0"
|
calamine = "0.18.0"
|
||||||
@ -73,7 +73,7 @@ serde_urlencoded = "0.7.0"
|
|||||||
serde_yaml = "0.8.16"
|
serde_yaml = "0.8.16"
|
||||||
sha2 = "0.9.3"
|
sha2 = "0.9.3"
|
||||||
strip-ansi-escapes = "0.1.0"
|
strip-ansi-escapes = "0.1.0"
|
||||||
sysinfo = { version = "0.21.1", optional = true }
|
sysinfo = { version = "0.23.0", optional = true }
|
||||||
thiserror = "1.0.26"
|
thiserror = "1.0.26"
|
||||||
term = { version="0.7.0", optional=true }
|
term = { version="0.7.0", optional=true }
|
||||||
term_size = "0.3.2"
|
term_size = "0.3.2"
|
||||||
|
@ -7,14 +7,14 @@ pub struct SubCommand;
|
|||||||
|
|
||||||
impl WholeStreamCommand for SubCommand {
|
impl WholeStreamCommand for SubCommand {
|
||||||
fn name(&self) -> &str {
|
fn name(&self) -> &str {
|
||||||
"into column_path"
|
"into column-path"
|
||||||
}
|
}
|
||||||
|
|
||||||
fn signature(&self) -> Signature {
|
fn signature(&self) -> Signature {
|
||||||
Signature::build("into column_path").rest(
|
Signature::build("into column-path").rest(
|
||||||
"rest",
|
"rest",
|
||||||
SyntaxShape::ColumnPath,
|
SyntaxShape::ColumnPath,
|
||||||
"values to convert to column_path",
|
"values to convert to column path",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -29,8 +29,8 @@ impl WholeStreamCommand for SubCommand {
|
|||||||
fn examples(&self) -> Vec<Example> {
|
fn examples(&self) -> Vec<Example> {
|
||||||
vec![
|
vec![
|
||||||
Example {
|
Example {
|
||||||
description: "Convert string to column_path in table",
|
description: "Convert string to column path in table",
|
||||||
example: "echo [[name]; ['/dev/null'] ['C:\\Program Files'] ['../../Cargo.toml']] | into column_path name",
|
example: "echo [[name]; ['/dev/null'] ['C:\\Program Files'] ['../../Cargo.toml']] | into column-path name",
|
||||||
result: Some(vec![
|
result: Some(vec![
|
||||||
UntaggedValue::row(indexmap! {
|
UntaggedValue::row(indexmap! {
|
||||||
"name".to_string() => UntaggedValue::column_path("/dev/null", Span::unknown()).into(),
|
"name".to_string() => UntaggedValue::column_path("/dev/null", Span::unknown()).into(),
|
||||||
@ -47,8 +47,8 @@ impl WholeStreamCommand for SubCommand {
|
|||||||
]),
|
]),
|
||||||
},
|
},
|
||||||
Example {
|
Example {
|
||||||
description: "Convert string to column_path",
|
description: "Convert string to column path",
|
||||||
example: "echo 'Cargo.toml' | into column_path",
|
example: "echo 'Cargo.toml' | into column-path",
|
||||||
result: Some(vec![UntaggedValue::column_path("Cargo.toml", Span::unknown()).into()]),
|
result: Some(vec![UntaggedValue::column_path("Cargo.toml", Span::unknown()).into()]),
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
@ -86,7 +86,7 @@ pub fn action(input: &Value, tag: impl Into<Tag>) -> Result<Value, ShellError> {
|
|||||||
Primitive::String(a_string) => a_string,
|
Primitive::String(a_string) => a_string,
|
||||||
_ => {
|
_ => {
|
||||||
return Err(ShellError::unimplemented(
|
return Err(ShellError::unimplemented(
|
||||||
"'into column_path' for non-string primitives",
|
"'into column-path' for non-string primitives",
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -94,12 +94,12 @@ pub fn action(input: &Value, tag: impl Into<Tag>) -> Result<Value, ShellError> {
|
|||||||
)
|
)
|
||||||
.into_value(&tag)),
|
.into_value(&tag)),
|
||||||
UntaggedValue::Row(_) => Err(ShellError::labeled_error(
|
UntaggedValue::Row(_) => Err(ShellError::labeled_error(
|
||||||
"specify column name to use, with 'into column_path COLUMN'",
|
"specify column name to use, with 'into column-path COLUMN'",
|
||||||
"found table",
|
"found table",
|
||||||
tag,
|
tag,
|
||||||
)),
|
)),
|
||||||
_ => Err(ShellError::unimplemented(
|
_ => Err(ShellError::unimplemented(
|
||||||
"'into column_path' for unsupported type",
|
"'into column-path' for unsupported type",
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -93,7 +93,7 @@ pub fn source(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
|||||||
|
|
||||||
let path = canonicalize(source_file).map_err(|e| {
|
let path = canonicalize(source_file).map_err(|e| {
|
||||||
ShellError::labeled_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",
|
"Can't load this file",
|
||||||
filename.span(),
|
filename.span(),
|
||||||
)
|
)
|
||||||
@ -112,7 +112,7 @@ pub fn source(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
|||||||
}
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
ctx.error(ShellError::labeled_error(
|
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",
|
"Can't load this file",
|
||||||
filename.span(),
|
filename.span(),
|
||||||
));
|
));
|
||||||
|
@ -81,6 +81,7 @@ fn tutor(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
|||||||
vec!["var", "vars", "variable", "variables"],
|
vec!["var", "vars", "variable", "variables"],
|
||||||
variable_tutor(),
|
variable_tutor(),
|
||||||
),
|
),
|
||||||
|
(vec!["engine-q", "e-q"], engineq_tutor()),
|
||||||
(vec!["block", "blocks"], block_tutor()),
|
(vec!["block", "blocks"], block_tutor()),
|
||||||
(vec!["shorthand", "shorthands"], shorthand_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 {
|
fn display(tag: Tag, scope: &Scope, help: &str) -> OutputStream {
|
||||||
let help = help.split('`');
|
let help = help.split('`');
|
||||||
|
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use nu_engine::WholeStreamCommand;
|
use itertools::Either;
|
||||||
|
use nu_engine::{FromValue, WholeStreamCommand};
|
||||||
use nu_errors::ShellError;
|
use nu_errors::ShellError;
|
||||||
use nu_protocol::{Signature, SyntaxShape, Value};
|
use nu_protocol::{Range, Signature, SpannedTypeName, SyntaxShape, Value};
|
||||||
use nu_source::Tagged;
|
use nu_source::Tagged;
|
||||||
|
|
||||||
pub struct SubCommand;
|
pub struct SubCommand;
|
||||||
@ -14,11 +15,16 @@ impl WholeStreamCommand for SubCommand {
|
|||||||
fn signature(&self) -> Signature {
|
fn signature(&self) -> Signature {
|
||||||
Signature::build("drop nth")
|
Signature::build("drop nth")
|
||||||
.required(
|
.required(
|
||||||
"row number",
|
"row number or row range",
|
||||||
SyntaxShape::Int,
|
// FIXME: we can make this accept either Int or Range when we can compose SyntaxShapes
|
||||||
"the number of the row to drop",
|
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 {
|
fn usage(&self) -> &str {
|
||||||
@ -41,18 +47,46 @@ impl WholeStreamCommand for SubCommand {
|
|||||||
example: "echo [first second third] | drop nth 0 2",
|
example: "echo [first second third] | drop nth 0 2",
|
||||||
result: Some(vec![Value::from("second")]),
|
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 extract_int_or_range(args: &CommandArgs) -> Result<Either<u64, Range>, ShellError> {
|
||||||
|
let value = args.req::<Value>(0)?;
|
||||||
|
|
||||||
|
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> {
|
fn drop(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
||||||
let row_number: Tagged<u64> = args.req(0)?;
|
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 and_rows: Vec<Tagged<u64>> = args.rest(1)?;
|
||||||
let input = args.input;
|
|
||||||
|
|
||||||
let mut rows: Vec<_> = and_rows.into_iter().map(|x| x.item as usize).collect();
|
let mut rows: Vec<_> = and_rows.into_iter().map(|x| x.item as usize).collect();
|
||||||
rows.push(row_number.item as usize);
|
rows.push(row_number as usize);
|
||||||
rows.sort_unstable();
|
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 {
|
Ok(DropNthIterator {
|
||||||
input,
|
input,
|
||||||
|
@ -197,7 +197,7 @@ fn process_row(
|
|||||||
} else {
|
} else {
|
||||||
let mut obj = input.clone();
|
let mut obj = input.clone();
|
||||||
|
|
||||||
for column in column_paths.clone() {
|
for column in column_paths {
|
||||||
let path = UntaggedValue::Primitive(Primitive::ColumnPath(column.clone()))
|
let path = UntaggedValue::Primitive(Primitive::ColumnPath(column.clone()))
|
||||||
.into_value(tag);
|
.into_value(tag);
|
||||||
let data = r.get_data(&as_string(&path)?).borrow().clone();
|
let data = r.get_data(&as_string(&path)?).borrow().clone();
|
||||||
|
@ -112,9 +112,7 @@ fn process_row(
|
|||||||
};
|
};
|
||||||
|
|
||||||
match input {
|
match input {
|
||||||
obj
|
obj @ Value {
|
||||||
@
|
|
||||||
Value {
|
|
||||||
value: UntaggedValue::Row(_),
|
value: UntaggedValue::Row(_),
|
||||||
..
|
..
|
||||||
} => match obj.insert_data_at_column_path(&field, result) {
|
} => match obj.insert_data_at_column_path(&field, result) {
|
||||||
|
@ -117,9 +117,7 @@ fn process_row(
|
|||||||
};
|
};
|
||||||
|
|
||||||
match input {
|
match input {
|
||||||
obj
|
obj @ Value {
|
||||||
@
|
|
||||||
Value {
|
|
||||||
value: UntaggedValue::Row(_),
|
value: UntaggedValue::Row(_),
|
||||||
..
|
..
|
||||||
} => match obj.replace_data_at_column_path(&field, result) {
|
} => match obj.replace_data_at_column_path(&field, result) {
|
||||||
|
@ -86,16 +86,11 @@ fn zip<'a>(
|
|||||||
) -> Result<Box<dyn Iterator<Item = Value> + 'a + Sync + Send>, ShellError> {
|
) -> Result<Box<dyn Iterator<Item = Value> + 'a + Sync + Send>, ShellError> {
|
||||||
Ok(Box::new(l.zip(r?).map(move |(s1, s2)| match (s1, s2) {
|
Ok(Box::new(l.zip(r?).map(move |(s1, s2)| match (s1, s2) {
|
||||||
(
|
(
|
||||||
left_row
|
left_row @ Value {
|
||||||
@
|
|
||||||
Value {
|
|
||||||
value: UntaggedValue::Row(_),
|
value: UntaggedValue::Row(_),
|
||||||
..
|
..
|
||||||
},
|
},
|
||||||
mut
|
mut right_row @ Value {
|
||||||
right_row
|
|
||||||
@
|
|
||||||
Value {
|
|
||||||
value: UntaggedValue::Row(_),
|
value: UntaggedValue::Row(_),
|
||||||
..
|
..
|
||||||
},
|
},
|
||||||
|
@ -36,6 +36,7 @@ impl WholeStreamCommand for Command {
|
|||||||
Some('p'),
|
Some('p'),
|
||||||
)
|
)
|
||||||
.switch("raw", "fetch contents as text rather than a table", Some('r'))
|
.switch("raw", "fetch contents as text rather than a table", Some('r'))
|
||||||
|
.switch("insecure", "allow insecure server connections when using SSL", Some('k'))
|
||||||
.filter()
|
.filter()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,6 +79,7 @@ fn run_fetch(args: CommandArgs) -> Result<ActionStream, ShellError> {
|
|||||||
)
|
)
|
||||||
})?,
|
})?,
|
||||||
fetch_helper.has_raw,
|
fetch_helper.has_raw,
|
||||||
|
fetch_helper.has_insecure,
|
||||||
fetch_helper.user.clone(),
|
fetch_helper.user.clone(),
|
||||||
fetch_helper.password,
|
fetch_helper.password,
|
||||||
))]
|
))]
|
||||||
@ -92,6 +94,7 @@ pub struct Fetch {
|
|||||||
pub path: Option<Value>,
|
pub path: Option<Value>,
|
||||||
pub tag: Tag,
|
pub tag: Tag,
|
||||||
pub has_raw: bool,
|
pub has_raw: bool,
|
||||||
|
pub has_insecure: bool,
|
||||||
pub user: Option<String>,
|
pub user: Option<String>,
|
||||||
pub password: Option<String>,
|
pub password: Option<String>,
|
||||||
}
|
}
|
||||||
@ -102,6 +105,7 @@ impl Fetch {
|
|||||||
path: None,
|
path: None,
|
||||||
tag: Tag::unknown(),
|
tag: Tag::unknown(),
|
||||||
has_raw: false,
|
has_raw: false,
|
||||||
|
has_insecure: false,
|
||||||
user: None,
|
user: None,
|
||||||
password: None,
|
password: None,
|
||||||
}
|
}
|
||||||
@ -121,6 +125,8 @@ impl Fetch {
|
|||||||
|
|
||||||
self.has_raw = args.has_flag("raw");
|
self.has_raw = args.has_flag("raw");
|
||||||
|
|
||||||
|
self.has_insecure = args.has_flag("insecure");
|
||||||
|
|
||||||
self.user = args.get_flag("user")?;
|
self.user = args.get_flag("user")?;
|
||||||
|
|
||||||
self.password = args.get_flag("password")?;
|
self.password = args.get_flag("password")?;
|
||||||
@ -132,13 +138,14 @@ impl Fetch {
|
|||||||
pub async fn fetch(
|
pub async fn fetch(
|
||||||
path: &Value,
|
path: &Value,
|
||||||
has_raw: bool,
|
has_raw: bool,
|
||||||
|
has_insecure: bool,
|
||||||
user: Option<String>,
|
user: Option<String>,
|
||||||
password: Option<String>,
|
password: Option<String>,
|
||||||
) -> ReturnValue {
|
) -> ReturnValue {
|
||||||
let path_str = path.as_string()?;
|
let path_str = path.as_string()?;
|
||||||
let path_span = path.tag.span;
|
let path_span = path.tag.span;
|
||||||
|
|
||||||
let result = helper(&path_str, path_span, has_raw, user, password).await;
|
let result = helper(&path_str, path_span, has_raw, has_insecure, user, password).await;
|
||||||
|
|
||||||
if let Err(e) = result {
|
if let Err(e) = result {
|
||||||
return Err(e);
|
return Err(e);
|
||||||
@ -168,6 +175,7 @@ async fn helper(
|
|||||||
location: &str,
|
location: &str,
|
||||||
span: Span,
|
span: Span,
|
||||||
has_raw: bool,
|
has_raw: bool,
|
||||||
|
has_insecure: bool,
|
||||||
user: Option<String>,
|
user: Option<String>,
|
||||||
password: Option<String>,
|
password: Option<String>,
|
||||||
) -> std::result::Result<(Option<String>, Value), ShellError> {
|
) -> std::result::Result<(Option<String>, Value), ShellError> {
|
||||||
@ -188,7 +196,7 @@ async fn helper(
|
|||||||
_ => None,
|
_ => None,
|
||||||
};
|
};
|
||||||
|
|
||||||
let client = http_client();
|
let client = http_client(has_insecure);
|
||||||
let mut request = client.get(url);
|
let mut request = client.get(url);
|
||||||
|
|
||||||
if let Some(login) = login {
|
if let Some(login) = login {
|
||||||
@ -360,10 +368,10 @@ async fn helper(
|
|||||||
|
|
||||||
// Only panics if the user agent is invalid but we define it statically so either
|
// Only panics if the user agent is invalid but we define it statically so either
|
||||||
// it always or never fails
|
// it always or never fails
|
||||||
#[allow(clippy::unwrap_used)]
|
fn http_client(allow_insecure: bool) -> reqwest::Client {
|
||||||
fn http_client() -> reqwest::Client {
|
|
||||||
reqwest::Client::builder()
|
reqwest::Client::builder()
|
||||||
.user_agent("nushell")
|
.user_agent("nushell")
|
||||||
|
.danger_accept_invalid_certs(allow_insecure)
|
||||||
.build()
|
.build()
|
||||||
.unwrap()
|
.expect("Failed to build reqwest client")
|
||||||
}
|
}
|
||||||
|
@ -53,6 +53,11 @@ impl WholeStreamCommand for Command {
|
|||||||
"return values as a string instead of a table",
|
"return values as a string instead of a table",
|
||||||
Some('r'),
|
Some('r'),
|
||||||
)
|
)
|
||||||
|
.switch(
|
||||||
|
"insecure",
|
||||||
|
"allow insecure server connections when using SSL",
|
||||||
|
Some('k'),
|
||||||
|
)
|
||||||
.filter()
|
.filter()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,6 +96,7 @@ fn run_post(args: CommandArgs) -> Result<ActionStream, ShellError> {
|
|||||||
ShellError::labeled_error("expected a 'path'", "expected a 'path'", &helper.tag)
|
ShellError::labeled_error("expected a 'path'", "expected a 'path'", &helper.tag)
|
||||||
})?,
|
})?,
|
||||||
helper.has_raw,
|
helper.has_raw,
|
||||||
|
helper.has_insecure,
|
||||||
&helper.body.clone().ok_or_else(|| {
|
&helper.body.clone().ok_or_else(|| {
|
||||||
ShellError::labeled_error("expected a 'body'", "expected a 'body'", &helper.tag)
|
ShellError::labeled_error("expected a 'body'", "expected a 'body'", &helper.tag)
|
||||||
})?,
|
})?,
|
||||||
@ -114,6 +120,7 @@ pub enum HeaderKind {
|
|||||||
pub struct Post {
|
pub struct Post {
|
||||||
pub path: Option<Value>,
|
pub path: Option<Value>,
|
||||||
pub has_raw: bool,
|
pub has_raw: bool,
|
||||||
|
pub has_insecure: bool,
|
||||||
pub body: Option<Value>,
|
pub body: Option<Value>,
|
||||||
pub user: Option<String>,
|
pub user: Option<String>,
|
||||||
pub password: Option<String>,
|
pub password: Option<String>,
|
||||||
@ -126,6 +133,7 @@ impl Post {
|
|||||||
Post {
|
Post {
|
||||||
path: None,
|
path: None,
|
||||||
has_raw: false,
|
has_raw: false,
|
||||||
|
has_insecure: false,
|
||||||
body: None,
|
body: None,
|
||||||
user: None,
|
user: None,
|
||||||
password: None,
|
password: None,
|
||||||
@ -156,6 +164,8 @@ impl Post {
|
|||||||
|
|
||||||
self.has_raw = args.has_flag("raw");
|
self.has_raw = args.has_flag("raw");
|
||||||
|
|
||||||
|
self.has_insecure = args.has_flag("insecure");
|
||||||
|
|
||||||
self.user = args.get_flag("user")?;
|
self.user = args.get_flag("user")?;
|
||||||
|
|
||||||
self.password = args.get_flag("password")?;
|
self.password = args.get_flag("password")?;
|
||||||
@ -169,6 +179,7 @@ impl Post {
|
|||||||
pub async fn post_helper(
|
pub async fn post_helper(
|
||||||
path: &Value,
|
path: &Value,
|
||||||
has_raw: bool,
|
has_raw: bool,
|
||||||
|
has_insecure: bool,
|
||||||
body: &Value,
|
body: &Value,
|
||||||
user: Option<String>,
|
user: Option<String>,
|
||||||
password: Option<String>,
|
password: Option<String>,
|
||||||
@ -177,8 +188,16 @@ pub async fn post_helper(
|
|||||||
let path_tag = path.tag.clone();
|
let path_tag = path.tag.clone();
|
||||||
let path_str = path.as_string()?;
|
let path_str = path.as_string()?;
|
||||||
|
|
||||||
let (file_extension, contents, contents_tag) =
|
let (file_extension, contents, contents_tag) = post(
|
||||||
post(&path_str, body, user, password, headers, path_tag.clone()).await?;
|
&path_str,
|
||||||
|
has_insecure,
|
||||||
|
body,
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
headers,
|
||||||
|
path_tag.clone(),
|
||||||
|
)
|
||||||
|
.await?;
|
||||||
|
|
||||||
let file_extension = if has_raw {
|
let file_extension = if has_raw {
|
||||||
None
|
None
|
||||||
@ -202,6 +221,7 @@ pub async fn post_helper(
|
|||||||
|
|
||||||
pub async fn post(
|
pub async fn post(
|
||||||
location: &str,
|
location: &str,
|
||||||
|
allow_insecure: bool,
|
||||||
body: &Value,
|
body: &Value,
|
||||||
user: Option<String>,
|
user: Option<String>,
|
||||||
password: Option<String>,
|
password: Option<String>,
|
||||||
@ -219,7 +239,9 @@ pub async fn post(
|
|||||||
value: UntaggedValue::Primitive(Primitive::String(body_str)),
|
value: UntaggedValue::Primitive(Primitive::String(body_str)),
|
||||||
..
|
..
|
||||||
} => {
|
} => {
|
||||||
let mut s = http_client().post(location).body(body_str.to_string());
|
let mut s = http_client(allow_insecure)
|
||||||
|
.post(location)
|
||||||
|
.body(body_str.to_string());
|
||||||
if let Some(login) = login {
|
if let Some(login) = login {
|
||||||
s = s.header("Authorization", format!("Basic {}", login));
|
s = s.header("Authorization", format!("Basic {}", login));
|
||||||
}
|
}
|
||||||
@ -237,7 +259,9 @@ pub async fn post(
|
|||||||
value: UntaggedValue::Primitive(Primitive::Binary(b)),
|
value: UntaggedValue::Primitive(Primitive::Binary(b)),
|
||||||
..
|
..
|
||||||
} => {
|
} => {
|
||||||
let mut s = http_client().post(location).body(Vec::from(&b[..]));
|
let mut s = http_client(allow_insecure)
|
||||||
|
.post(location)
|
||||||
|
.body(Vec::from(&b[..]));
|
||||||
if let Some(login) = login {
|
if let Some(login) = login {
|
||||||
s = s.header("Authorization", format!("Basic {}", login));
|
s = s.header("Authorization", format!("Basic {}", login));
|
||||||
}
|
}
|
||||||
@ -247,7 +271,9 @@ pub async fn post(
|
|||||||
match value_to_json_value(&value.clone().into_untagged_value()) {
|
match value_to_json_value(&value.clone().into_untagged_value()) {
|
||||||
Ok(json_value) => match serde_json::to_string(&json_value) {
|
Ok(json_value) => match serde_json::to_string(&json_value) {
|
||||||
Ok(result_string) => {
|
Ok(result_string) => {
|
||||||
let mut s = http_client().post(location).body(result_string);
|
let mut s = http_client(allow_insecure)
|
||||||
|
.post(location)
|
||||||
|
.body(result_string);
|
||||||
|
|
||||||
if let Some(login) = login {
|
if let Some(login) = login {
|
||||||
s = s.header("Authorization", format!("Basic {}", login));
|
s = s.header("Authorization", format!("Basic {}", login));
|
||||||
@ -611,10 +637,10 @@ fn extract_header_value(args: &CommandArgs, key: &str) -> Result<Option<String>,
|
|||||||
|
|
||||||
// Only panics if the user agent is invalid but we define it statically so either
|
// Only panics if the user agent is invalid but we define it statically so either
|
||||||
// it always or never fails
|
// it always or never fails
|
||||||
#[allow(clippy::unwrap_used)]
|
fn http_client(allow_insecure: bool) -> reqwest::Client {
|
||||||
fn http_client() -> reqwest::Client {
|
|
||||||
reqwest::Client::builder()
|
reqwest::Client::builder()
|
||||||
.user_agent("nushell")
|
.user_agent("nushell")
|
||||||
|
.danger_accept_invalid_certs(allow_insecure)
|
||||||
.build()
|
.build()
|
||||||
.unwrap()
|
.expect("Failed to build reqwest client")
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,7 @@ fn kill(args: CommandArgs) -> Result<ActionStream, ShellError> {
|
|||||||
}
|
}
|
||||||
cmd.arg("-9");
|
cmd.arg("-9");
|
||||||
} else if let Some(signal_value) = signal {
|
} 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());
|
cmd.arg(pid.item().to_string());
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
use super::operate;
|
use super::{operate, to_lower_camel_case};
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use inflector::cases::camelcase::to_camel_case;
|
|
||||||
use nu_engine::WholeStreamCommand;
|
use nu_engine::WholeStreamCommand;
|
||||||
use nu_errors::ShellError;
|
use nu_errors::ShellError;
|
||||||
use nu_protocol::{Signature, SyntaxShape, Value};
|
use nu_protocol::{Signature, SyntaxShape, Value};
|
||||||
@ -25,7 +24,7 @@ impl WholeStreamCommand for SubCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn run(&self, args: CommandArgs) -> Result<OutputStream, ShellError> {
|
fn run(&self, args: CommandArgs) -> Result<OutputStream, ShellError> {
|
||||||
operate(args, &to_camel_case)
|
operate(args, &to_lower_camel_case)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn examples(&self) -> Vec<Example> {
|
fn examples(&self) -> Vec<Example> {
|
||||||
@ -40,7 +39,7 @@ impl WholeStreamCommand for SubCommand {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::ShellError;
|
use super::ShellError;
|
||||||
use super::{to_camel_case, SubCommand};
|
use super::{to_lower_camel_case, SubCommand};
|
||||||
use crate::commands::strings::str_::case::action;
|
use crate::commands::strings::str_::case::action;
|
||||||
use nu_source::Tag;
|
use nu_source::Tag;
|
||||||
use nu_test_support::value::string;
|
use nu_test_support::value::string;
|
||||||
@ -57,7 +56,7 @@ mod tests {
|
|||||||
let word = string("this-is-the-first-case");
|
let word = string("this-is-the-first-case");
|
||||||
let expected = string("thisIsTheFirstCase");
|
let expected = string("thisIsTheFirstCase");
|
||||||
|
|
||||||
let actual = action(&word, Tag::unknown(), &to_camel_case).unwrap();
|
let actual = action(&word, Tag::unknown(), &to_lower_camel_case).unwrap();
|
||||||
assert_eq!(actual, expected);
|
assert_eq!(actual, expected);
|
||||||
}
|
}
|
||||||
#[test]
|
#[test]
|
||||||
@ -65,7 +64,7 @@ mod tests {
|
|||||||
let word = string("this_is_the_second_case");
|
let word = string("this_is_the_second_case");
|
||||||
let expected = string("thisIsTheSecondCase");
|
let expected = string("thisIsTheSecondCase");
|
||||||
|
|
||||||
let actual = action(&word, Tag::unknown(), &to_camel_case).unwrap();
|
let actual = action(&word, Tag::unknown(), &to_lower_camel_case).unwrap();
|
||||||
assert_eq!(actual, expected);
|
assert_eq!(actual, expected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
use super::operate;
|
use super::{operate, to_kebab_case};
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use inflector::cases::kebabcase::to_kebab_case;
|
|
||||||
use nu_engine::WholeStreamCommand;
|
use nu_engine::WholeStreamCommand;
|
||||||
use nu_errors::ShellError;
|
use nu_errors::ShellError;
|
||||||
use nu_protocol::{Signature, SyntaxShape, Value};
|
use nu_protocol::{Signature, SyntaxShape, Value};
|
||||||
|
@ -16,6 +16,24 @@ pub use pascal_case::SubCommand as PascalCase;
|
|||||||
pub use screaming_snake_case::SubCommand as ScreamingSnakeCase;
|
pub use screaming_snake_case::SubCommand as ScreamingSnakeCase;
|
||||||
pub use snake_case::SubCommand as SnakeCase;
|
pub use snake_case::SubCommand as SnakeCase;
|
||||||
|
|
||||||
|
use heck::ToKebabCase;
|
||||||
|
use heck::ToLowerCamelCase;
|
||||||
|
use heck::ToShoutySnakeCase;
|
||||||
|
use heck::ToSnakeCase;
|
||||||
|
use heck::ToUpperCamelCase;
|
||||||
|
macro_rules! create_heck_function {
|
||||||
|
($func_name:ident) => {
|
||||||
|
pub fn $func_name(a_slice: &str) -> String {
|
||||||
|
a_slice.$func_name()
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
create_heck_function!(to_upper_camel_case);
|
||||||
|
create_heck_function!(to_lower_camel_case);
|
||||||
|
create_heck_function!(to_kebab_case);
|
||||||
|
create_heck_function!(to_shouty_snake_case);
|
||||||
|
create_heck_function!(to_snake_case);
|
||||||
|
|
||||||
struct Arguments {
|
struct Arguments {
|
||||||
column_paths: Vec<ColumnPath>,
|
column_paths: Vec<ColumnPath>,
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
use super::operate;
|
use super::{operate, to_upper_camel_case};
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use inflector::cases::pascalcase::to_pascal_case;
|
|
||||||
use nu_engine::WholeStreamCommand;
|
use nu_engine::WholeStreamCommand;
|
||||||
use nu_errors::ShellError;
|
use nu_errors::ShellError;
|
||||||
use nu_protocol::{Signature, SyntaxShape, Value};
|
use nu_protocol::{Signature, SyntaxShape, Value};
|
||||||
@ -25,7 +24,7 @@ impl WholeStreamCommand for SubCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn run(&self, args: CommandArgs) -> Result<OutputStream, ShellError> {
|
fn run(&self, args: CommandArgs) -> Result<OutputStream, ShellError> {
|
||||||
operate(args, &to_pascal_case)
|
operate(args, &to_upper_camel_case)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn examples(&self) -> Vec<Example> {
|
fn examples(&self) -> Vec<Example> {
|
||||||
@ -40,7 +39,7 @@ impl WholeStreamCommand for SubCommand {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::ShellError;
|
use super::ShellError;
|
||||||
use super::{to_pascal_case, SubCommand};
|
use super::{to_upper_camel_case, SubCommand};
|
||||||
use crate::commands::strings::str_::case::action;
|
use crate::commands::strings::str_::case::action;
|
||||||
use nu_source::Tag;
|
use nu_source::Tag;
|
||||||
use nu_test_support::value::string;
|
use nu_test_support::value::string;
|
||||||
@ -57,7 +56,7 @@ mod tests {
|
|||||||
let word = string("this-is-the-first-case");
|
let word = string("this-is-the-first-case");
|
||||||
let expected = string("ThisIsTheFirstCase");
|
let expected = string("ThisIsTheFirstCase");
|
||||||
|
|
||||||
let actual = action(&word, Tag::unknown(), &to_pascal_case).unwrap();
|
let actual = action(&word, Tag::unknown(), &to_upper_camel_case).unwrap();
|
||||||
assert_eq!(actual, expected);
|
assert_eq!(actual, expected);
|
||||||
}
|
}
|
||||||
#[test]
|
#[test]
|
||||||
@ -65,7 +64,7 @@ mod tests {
|
|||||||
let word = string("this_is_the_second_case");
|
let word = string("this_is_the_second_case");
|
||||||
let expected = string("ThisIsTheSecondCase");
|
let expected = string("ThisIsTheSecondCase");
|
||||||
|
|
||||||
let actual = action(&word, Tag::unknown(), &to_pascal_case).unwrap();
|
let actual = action(&word, Tag::unknown(), &to_upper_camel_case).unwrap();
|
||||||
assert_eq!(actual, expected);
|
assert_eq!(actual, expected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
use super::operate;
|
use super::{operate, to_shouty_snake_case};
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use inflector::cases::screamingsnakecase::to_screaming_snake_case;
|
|
||||||
use nu_engine::WholeStreamCommand;
|
use nu_engine::WholeStreamCommand;
|
||||||
use nu_errors::ShellError;
|
use nu_errors::ShellError;
|
||||||
use nu_protocol::{Signature, SyntaxShape, Value};
|
use nu_protocol::{Signature, SyntaxShape, Value};
|
||||||
@ -25,7 +24,7 @@ impl WholeStreamCommand for SubCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn run(&self, args: CommandArgs) -> Result<OutputStream, ShellError> {
|
fn run(&self, args: CommandArgs) -> Result<OutputStream, ShellError> {
|
||||||
operate(args, &to_screaming_snake_case)
|
operate(args, &to_shouty_snake_case)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn examples(&self) -> Vec<Example> {
|
fn examples(&self) -> Vec<Example> {
|
||||||
@ -40,7 +39,7 @@ impl WholeStreamCommand for SubCommand {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::ShellError;
|
use super::ShellError;
|
||||||
use super::{to_screaming_snake_case, SubCommand};
|
use super::{to_shouty_snake_case, SubCommand};
|
||||||
use crate::commands::strings::str_::case::action;
|
use crate::commands::strings::str_::case::action;
|
||||||
use nu_source::Tag;
|
use nu_source::Tag;
|
||||||
use nu_test_support::value::string;
|
use nu_test_support::value::string;
|
||||||
@ -57,7 +56,7 @@ mod tests {
|
|||||||
let word = string("this-is-the-first-case");
|
let word = string("this-is-the-first-case");
|
||||||
let expected = string("THIS_IS_THE_FIRST_CASE");
|
let expected = string("THIS_IS_THE_FIRST_CASE");
|
||||||
|
|
||||||
let actual = action(&word, Tag::unknown(), &to_screaming_snake_case).unwrap();
|
let actual = action(&word, Tag::unknown(), &to_shouty_snake_case).unwrap();
|
||||||
assert_eq!(actual, expected);
|
assert_eq!(actual, expected);
|
||||||
}
|
}
|
||||||
#[test]
|
#[test]
|
||||||
@ -65,7 +64,7 @@ mod tests {
|
|||||||
let word = string("this_is_the_second_case");
|
let word = string("this_is_the_second_case");
|
||||||
let expected = string("THIS_IS_THE_SECOND_CASE");
|
let expected = string("THIS_IS_THE_SECOND_CASE");
|
||||||
|
|
||||||
let actual = action(&word, Tag::unknown(), &to_screaming_snake_case).unwrap();
|
let actual = action(&word, Tag::unknown(), &to_shouty_snake_case).unwrap();
|
||||||
assert_eq!(actual, expected);
|
assert_eq!(actual, expected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
use super::operate;
|
use super::{operate, to_snake_case};
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use inflector::cases::snakecase::to_snake_case;
|
|
||||||
use nu_engine::WholeStreamCommand;
|
use nu_engine::WholeStreamCommand;
|
||||||
use nu_errors::ShellError;
|
use nu_errors::ShellError;
|
||||||
use nu_protocol::{Signature, SyntaxShape, Value};
|
use nu_protocol::{Signature, SyntaxShape, Value};
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use nu_errors::ShellError;
|
use nu_errors::ShellError;
|
||||||
use nu_protocol::{Signature, TaggedDictBuilder, UntaggedValue};
|
use nu_protocol::{Signature, TaggedDictBuilder, UntaggedValue};
|
||||||
use sysinfo::{ProcessExt, System, SystemExt};
|
use sysinfo::{PidExt, ProcessExt, System, SystemExt};
|
||||||
|
|
||||||
pub struct Command;
|
pub struct Command;
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ fn run_ps(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
|||||||
for pid in result {
|
for pid in result {
|
||||||
if let Some(result) = sys.process(pid) {
|
if let Some(result) = sys.process(pid) {
|
||||||
let mut dict = TaggedDictBuilder::new(args.name_tag());
|
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("name", UntaggedValue::string(result.name()));
|
||||||
dict.insert_untagged(
|
dict.insert_untagged(
|
||||||
"status",
|
"status",
|
||||||
@ -68,7 +68,7 @@ fn run_ps(args: CommandArgs) -> Result<OutputStream, ShellError> {
|
|||||||
|
|
||||||
if long {
|
if long {
|
||||||
if let Some(parent) = result.parent() {
|
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 {
|
} else {
|
||||||
dict.insert_untagged("parent", UntaggedValue::nothing());
|
dict.insert_untagged("parent", UntaggedValue::nothing());
|
||||||
}
|
}
|
||||||
|
@ -66,3 +66,25 @@ fn more_rows_than_table_has() {
|
|||||||
|
|
||||||
assert_eq!(actual.out, "0");
|
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"));
|
||||||
|
}
|
||||||
|
@ -4,19 +4,19 @@ description = "Completions for nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-completion"
|
name = "nu-completion"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-engine = { version = "0.41.0", path="../nu-engine" }
|
nu-engine = { version = "0.44.0", path="../nu-engine" }
|
||||||
nu-data = { version = "0.41.0", path="../nu-data" }
|
nu-data = { version = "0.44.0", path="../nu-data" }
|
||||||
nu-parser = { version = "0.41.0", path="../nu-parser" }
|
nu-parser = { version = "0.44.0", path="../nu-parser" }
|
||||||
nu-path = { version = "0.41.0", path="../nu-path" }
|
nu-path = { version = "0.44.0", path="../nu-path" }
|
||||||
nu-protocol = { version = "0.41.0", path="../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
nu-test-support = { version = "0.41.0", path="../nu-test-support" }
|
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
|
||||||
indexmap = { version="1.6.1", features=["serde-1"] }
|
indexmap = { version="1.6.1", features=["serde-1"] }
|
||||||
|
|
||||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
authors = ["The Nu Project Contributors"]
|
authors = ["The Nu Project Contributors"]
|
||||||
description = "CLI for nushell"
|
description = "Data for Nushell"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-data"
|
name = "nu-data"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
@ -27,14 +27,14 @@ sha2 = "0.9.3"
|
|||||||
sys-locale = "0.1.0"
|
sys-locale = "0.1.0"
|
||||||
toml = "0.5.8"
|
toml = "0.5.8"
|
||||||
|
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-path = { version = "0.41.0", path="../nu-path" }
|
nu-path = { version = "0.44.0", path="../nu-path" }
|
||||||
nu-protocol = { version = "0.41.0", path="../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
nu-table = { version = "0.41.0", path="../nu-table" }
|
nu-table = { version = "0.44.0", path="../nu-table" }
|
||||||
nu-test-support = { version = "0.41.0", path="../nu-test-support" }
|
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
|
||||||
nu-value-ext = { version = "0.41.0", path="../nu-value-ext" }
|
nu-value-ext = { version = "0.44.0", path="../nu-value-ext" }
|
||||||
nu-ansi-term = { version = "0.41.0", path="../nu-ansi-term" }
|
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
dataframe = ["nu-protocol/dataframe"]
|
dataframe = ["nu-protocol/dataframe"]
|
||||||
|
@ -164,8 +164,8 @@ pub fn coerce_compare_primitive(
|
|||||||
(Date(left), Date(right)) => CompareValues::Date(*left, *right),
|
(Date(left), Date(right)) => CompareValues::Date(*left, *right),
|
||||||
(Date(left), Duration(right)) => CompareValues::DateDuration(*left, right.clone()),
|
(Date(left), Duration(right)) => CompareValues::DateDuration(*left, right.clone()),
|
||||||
(Boolean(left), Boolean(right)) => CompareValues::Booleans(*left, *right),
|
(Boolean(left), Boolean(right)) => CompareValues::Booleans(*left, *right),
|
||||||
(Boolean(left), Nothing) => CompareValues::Booleans(*left, false),
|
(Boolean(left), Nothing) => CompareValues::Ints(if *left { 1 } else { 0 }, -1),
|
||||||
(Nothing, Boolean(right)) => CompareValues::Booleans(false, *right),
|
(Nothing, Boolean(right)) => CompareValues::Ints(-1, if *right { 1 } else { 0 }),
|
||||||
(String(left), Nothing) => CompareValues::String(left.clone(), std::string::String::new()),
|
(String(left), Nothing) => CompareValues::String(left.clone(), std::string::String::new()),
|
||||||
(Nothing, String(right)) => {
|
(Nothing, String(right)) => {
|
||||||
CompareValues::String(std::string::String::new(), right.clone())
|
CompareValues::String(std::string::String::new(), right.clone())
|
||||||
|
@ -4,20 +4,20 @@ description = "Core commands for nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-engine"
|
name = "nu-engine"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-data = { version = "0.41.0", path="../nu-data" }
|
nu-data = { version = "0.44.0", path="../nu-data" }
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-parser = { version = "0.41.0", path="../nu-parser" }
|
nu-parser = { version = "0.44.0", path="../nu-parser" }
|
||||||
nu-plugin = { version = "0.41.0", path="../nu-plugin" }
|
nu-plugin = { version = "0.44.0", path="../nu-plugin" }
|
||||||
nu-protocol = { version = "0.41.0", path="../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
nu-stream = { version = "0.41.0", path="../nu-stream" }
|
nu-stream = { version = "0.44.0", path="../nu-stream" }
|
||||||
nu-value-ext = { version = "0.41.0", path="../nu-value-ext" }
|
nu-value-ext = { version = "0.44.0", path="../nu-value-ext" }
|
||||||
nu-ansi-term = { version = "0.41.0", path="../nu-ansi-term" }
|
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
|
||||||
nu-test-support = { version = "0.41.0", path="../nu-test-support" }
|
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
|
||||||
nu-path = { version = "0.41.0", path="../nu-path" }
|
nu-path = { version = "0.44.0", path="../nu-path" }
|
||||||
|
|
||||||
trash = { version = "2.0.2", optional = true }
|
trash = { version = "2.0.2", optional = true }
|
||||||
which = { version="4.0.2", optional=true }
|
which = { version="4.0.2", optional=true }
|
||||||
@ -50,7 +50,7 @@ umask = "1.0.0"
|
|||||||
users = "0.11.0"
|
users = "0.11.0"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
nu-test-support = { version = "0.41.0", path="../nu-test-support" }
|
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
|
||||||
hamcrest2 = "0.3.0"
|
hamcrest2 = "0.3.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -970,7 +970,7 @@ fn move_item(from: &Path, from_tag: &Tag, to: &Path) -> Result<(), ShellError> {
|
|||||||
} {
|
} {
|
||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(e) => Err(ShellError::labeled_error(
|
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",
|
"could not move",
|
||||||
from_tag,
|
from_tag,
|
||||||
)),
|
)),
|
||||||
|
@ -147,7 +147,7 @@ pub fn process_script(
|
|||||||
{
|
{
|
||||||
val.to_string()
|
val.to_string()
|
||||||
} else {
|
} else {
|
||||||
format!("{}\\", name.to_string())
|
format!("{}\\", name)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
name.to_string()
|
name.to_string()
|
||||||
|
@ -34,3 +34,21 @@ fn compare_to_nothing() {
|
|||||||
);
|
);
|
||||||
assert_eq!(actual.out, "true");
|
assert_eq!(actual.out, "true");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn compare_nothing_and_boolean() {
|
||||||
|
let actual = nu!(
|
||||||
|
cwd: ".",
|
||||||
|
r#"
|
||||||
|
if $true == $nothing {echo $true} {echo $false}
|
||||||
|
"#
|
||||||
|
);
|
||||||
|
assert_eq!(actual.out, "false");
|
||||||
|
let actual = nu!(
|
||||||
|
cwd: ".",
|
||||||
|
r#"
|
||||||
|
if $false == $nothing {echo $true} {echo $false}
|
||||||
|
"#
|
||||||
|
);
|
||||||
|
assert_eq!(actual.out, "false");
|
||||||
|
}
|
||||||
|
@ -4,14 +4,14 @@ description = "Core error subsystem for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-errors"
|
name = "nu-errors"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
nu-ansi-term = { version = "0.41.0", path="../nu-ansi-term" }
|
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
|
||||||
|
|
||||||
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
||||||
codespan-reporting = { version="0.11.0", features=["serialization"] }
|
codespan-reporting = { version="0.11.0", features=["serialization"] }
|
||||||
|
@ -4,7 +4,7 @@ description = "Fork of serde-hjson"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-json"
|
name = "nu-json"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# 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 }
|
linked-hash-map = { version="0.5", optional=true }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
nu-path = { version = "0.41.0", path="../nu-path" }
|
nu-path = { version = "0.44.0", path="../nu-path" }
|
||||||
nu-test-support = { version = "0.41.0", path="../nu-test-support" }
|
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
|
||||||
serde_json = "1.0.39"
|
serde_json = "1.0.39"
|
||||||
|
@ -4,7 +4,7 @@ description = "Nushell parser"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-parser"
|
name = "nu-parser"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
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"
|
itertools = "0.10.0"
|
||||||
smart-default = "0.6.0"
|
smart-default = "0.6.0"
|
||||||
|
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-data = { version = "0.41.0", path="../nu-data" }
|
nu-data = { version = "0.44.0", path="../nu-data" }
|
||||||
nu-path = { version = "0.41.0", path="../nu-path" }
|
nu-path = { version = "0.44.0", path="../nu-path" }
|
||||||
nu-protocol = { version = "0.41.0", path="../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
nu-test-support = { version = "0.41.0", path="../nu-test-support" }
|
nu-test-support = { version = "0.44.0", path="../nu-test-support" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
stable = []
|
stable = []
|
||||||
|
@ -75,7 +75,7 @@ fn find_source_file(
|
|||||||
|
|
||||||
let path = canonicalize(&file).map_err(|e| {
|
let path = canonicalize(&file).map_err(|e| {
|
||||||
ParseError::general_error(
|
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),
|
"Can't load this file".spanned(file_span),
|
||||||
)
|
)
|
||||||
})?;
|
})?;
|
||||||
@ -85,7 +85,7 @@ fn find_source_file(
|
|||||||
match contents {
|
match contents {
|
||||||
Ok(contents) => parse(&contents, 0, scope),
|
Ok(contents) => parse(&contents, 0, scope),
|
||||||
Err(e) => Err(ParseError::general_error(
|
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),
|
"Can't load this file".spanned(file_span),
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ description = "Path handling library for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-path"
|
name = "nu-path"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
dirs-next = "2.0.0"
|
dirs-next = "2.0.0"
|
||||||
|
@ -4,17 +4,17 @@ description = "Nushell Plugin"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-plugin"
|
name = "nu-plugin"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
nu-test-support = { path="../nu-test-support", version = "0.41.0" }
|
nu-test-support = { path="../nu-test-support", version = "0.44.0" }
|
||||||
nu-value-ext = { path="../nu-value-ext", version = "0.41.0" }
|
nu-value-ext = { path="../nu-value-ext", version = "0.44.0" }
|
||||||
indexmap = { version="1.6.1", features=["serde-1"] }
|
indexmap = { version="1.6.1", features=["serde-1"] }
|
||||||
serde = { version="1.0", features=["derive"] }
|
serde = { version="1.0", features=["derive"] }
|
||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
|
@ -4,7 +4,7 @@ description = "Pretty hex dump of bytes slice in the common style."
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-pretty-hex"
|
name = "nu-pretty-hex"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
@ -16,7 +16,7 @@ name = "nu_pretty_hex"
|
|||||||
path = "src/main.rs"
|
path = "src/main.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-ansi-term = { path="../nu-ansi-term", version = "0.41.0" }
|
nu-ansi-term = { path="../nu-ansi-term", version = "0.44.0" }
|
||||||
rand = "0.8.3"
|
rand = "0.8.3"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
@ -4,7 +4,7 @@ description = "Core values and protocols for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-protocol"
|
name = "nu-protocol"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
@ -18,8 +18,8 @@ derive-new = "0.5.8"
|
|||||||
getset = "0.1.1"
|
getset = "0.1.1"
|
||||||
indexmap = { version="1.6.1", features=["serde-1"] }
|
indexmap = { version="1.6.1", features=["serde-1"] }
|
||||||
log = "0.4.14"
|
log = "0.4.14"
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
num-bigint = { version = "0.4.3", features = ["serde"] }
|
num-bigint = { version = "0.4.3", features = ["serde"] }
|
||||||
num-integer = "0.1.44"
|
num-integer = "0.1.44"
|
||||||
num-traits = "0.2.14"
|
num-traits = "0.2.14"
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
macro_rules! out {
|
macro_rules! out {
|
||||||
($($tokens:tt)*) => {
|
($($tokens:tt)*) => {
|
||||||
use std::io::Write;
|
use std::io::Write;
|
||||||
print!($($tokens)*);
|
write!(std::io::stdout(), $($tokens)*).unwrap_or(());
|
||||||
let _ = std::io::stdout().flush();
|
let _ = std::io::stdout().flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -17,7 +17,12 @@ macro_rules! out {
|
|||||||
/// and stray printlns left by accident
|
/// and stray printlns left by accident
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! outln {
|
macro_rules! outln {
|
||||||
($($tokens:tt)*) => { println!($($tokens)*) }
|
($($tokens:tt)*) => {
|
||||||
|
{
|
||||||
|
use std::io::Write;
|
||||||
|
writeln!(std::io::stdout(), $($tokens)*).unwrap_or(())
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Outputs to standard error
|
/// Outputs to standard error
|
||||||
@ -26,7 +31,12 @@ macro_rules! outln {
|
|||||||
/// and stray printlns left by accident
|
/// and stray printlns left by accident
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! errln {
|
macro_rules! errln {
|
||||||
($($tokens:tt)*) => { eprintln!($($tokens)*) }
|
($($tokens:tt)*) => {
|
||||||
|
{
|
||||||
|
use std::io::Write;
|
||||||
|
writeln!(std::io::stderr(), $($tokens)*).unwrap_or(())
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
|
@ -573,9 +573,7 @@ impl Value {
|
|||||||
value: UntaggedValue::Table(rows),
|
value: UntaggedValue::Table(rows),
|
||||||
..
|
..
|
||||||
} => rows.is_empty(),
|
} => rows.is_empty(),
|
||||||
r
|
r @ Value {
|
||||||
@
|
|
||||||
Value {
|
|
||||||
value: UntaggedValue::Row(_),
|
value: UntaggedValue::Row(_),
|
||||||
..
|
..
|
||||||
} => r.row_entries().all(|(_, value)| value.is_empty()),
|
} => r.row_entries().all(|(_, value)| value.is_empty()),
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "nu-serde"
|
name = "nu-serde"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
authors = ["The Nu Project Contributors"]
|
authors = ["The Nu Project Contributors"]
|
||||||
description = "Turn any value into a nu-protocol::Value with serde"
|
description = "Turn any value into a nu-protocol::Value with serde"
|
||||||
@ -10,8 +10,8 @@ documentation = "https://docs.rs/nu-serde"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
||||||
nu-protocol = { version = "0.41.0", path = "../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path = "../nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path = "../nu-source" }
|
nu-source = { version = "0.44.0", path = "../nu-source" }
|
||||||
serde = "1"
|
serde = "1"
|
||||||
thiserror = "1"
|
thiserror = "1"
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ description = "A source string characterizer for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-source"
|
name = "nu-source"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
@ -4,12 +4,12 @@ description = "Nushell stream"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-stream"
|
name = "nu-stream"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-protocol = { version = "0.41.0", path="../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
stable = []
|
stable = []
|
||||||
|
@ -4,7 +4,7 @@ description = "Nushell table printing"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-table"
|
name = "nu-table"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
[[bin]]
|
[[bin]]
|
||||||
@ -13,7 +13,7 @@ path = "src/main.rs"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
atty = "0.2.14"
|
atty = "0.2.14"
|
||||||
nu-ansi-term = { version = "0.41.0", path="../nu-ansi-term" }
|
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
|
||||||
|
|
||||||
regex = "1.4"
|
regex = "1.4"
|
||||||
strip-ansi-escapes = "0.1.1"
|
strip-ansi-escapes = "0.1.1"
|
||||||
|
@ -4,16 +4,16 @@ description = "Support for writing Nushell tests"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-test-support"
|
name = "nu-test-support"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-path = { version = "0.41.0", path="../nu-path" }
|
nu-path = { version = "0.44.0", path="../nu-path" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
|
|
||||||
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
||||||
chrono = "0.4.19"
|
chrono = "0.4.19"
|
||||||
|
@ -97,7 +97,7 @@ impl Executable for Director {
|
|||||||
.spawn()
|
.spawn()
|
||||||
{
|
{
|
||||||
Ok(child) => child,
|
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 {
|
if let Some(pipelines) = &self.pipeline {
|
||||||
|
@ -4,15 +4,15 @@ description = "Extension traits for values in Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu-value-ext"
|
name = "nu-value-ext"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
|
|
||||||
indexmap = { version="1.6.1", features=["serde-1"] }
|
indexmap = { version="1.6.1", features=["serde-1"] }
|
||||||
itertools = "0.10.0"
|
itertools = "0.10.0"
|
||||||
|
@ -4,7 +4,7 @@ description = "A binary viewer plugin for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_binaryview"
|
name = "nu_plugin_binaryview"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
@ -13,12 +13,12 @@ doctest = false
|
|||||||
crossterm = "0.19"
|
crossterm = "0.19"
|
||||||
image = { version = "0.23.14", default_features = false, features = ["png", "jpeg"] }
|
image = { version = "0.23.14", default_features = false, features = ["png", "jpeg"] }
|
||||||
neso = "0.5.0"
|
neso = "0.5.0"
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
nu-ansi-term = { version = "0.41.0", path="../nu-ansi-term" }
|
nu-ansi-term = { version = "0.44.0", path="../nu-ansi-term" }
|
||||||
nu-pretty-hex = { version = "0.41.0", path="../nu-pretty-hex" }
|
nu-pretty-hex = { version = "0.44.0", path="../nu-pretty-hex" }
|
||||||
rawkey = "0.1.3"
|
rawkey = "0.1.3"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
|
@ -4,18 +4,18 @@ description = "A plugin to display charts"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_chart"
|
name = "nu_plugin_chart"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-data = { path="../nu-data", version = "0.41.0" }
|
nu-data = { path="../nu-data", version = "0.44.0" }
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
nu-value-ext = { path="../nu-value-ext", version = "0.41.0" }
|
nu-value-ext = { path="../nu-value-ext", version = "0.44.0" }
|
||||||
|
|
||||||
crossterm = "0.19.0"
|
crossterm = "0.19.0"
|
||||||
tui = { version="0.15.0", default-features=false, features=["crossterm"] }
|
tui = { version="0.15.0", default-features=false, features=["crossterm"] }
|
||||||
|
@ -4,7 +4,7 @@ description = "A converter plugin to the bson format for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_from_bson"
|
name = "nu_plugin_from_bson"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
@ -12,9 +12,9 @@ doctest = false
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
||||||
bson = { version = "2.0.1", features = [ "chrono-0_4" ] }
|
bson = { version = "2.0.1", features = [ "chrono-0_4" ] }
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
|
@ -4,16 +4,16 @@ description = "A converter plugin to the mp4 format for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_from_mp4"
|
name = "nu_plugin_from_mp4"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
tempfile = "3.2.0"
|
tempfile = "3.2.0"
|
||||||
mp4 = "0.9.0"
|
mp4 = "0.9.0"
|
||||||
|
|
||||||
|
@ -4,17 +4,17 @@ description = "A converter plugin to the bson format for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_from_sqlite"
|
name = "nu_plugin_from_sqlite"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
tempfile = "3.2.0"
|
tempfile = "3.2.0"
|
||||||
|
|
||||||
[dependencies.rusqlite]
|
[dependencies.rusqlite]
|
||||||
|
@ -4,18 +4,18 @@ description = "A version incrementer plugin for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_inc"
|
name = "nu_plugin_inc"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
nu-test-support = { path="../nu-test-support", version = "0.41.0" }
|
nu-test-support = { path="../nu-test-support", version = "0.44.0" }
|
||||||
nu-value-ext = { path="../nu-value-ext", version = "0.41.0" }
|
nu-value-ext = { path="../nu-value-ext", version = "0.44.0" }
|
||||||
|
|
||||||
semver = "0.11.0"
|
semver = "0.11.0"
|
||||||
|
|
||||||
|
@ -49,9 +49,7 @@ impl Plugin for Inc {
|
|||||||
if let Some(args) = call_info.args.positional {
|
if let Some(args) = call_info.args.positional {
|
||||||
for arg in args {
|
for arg in args {
|
||||||
match arg {
|
match arg {
|
||||||
table
|
table @ Value {
|
||||||
@
|
|
||||||
Value {
|
|
||||||
value: UntaggedValue::Primitive(Primitive::ColumnPath(_)),
|
value: UntaggedValue::Primitive(Primitive::ColumnPath(_)),
|
||||||
..
|
..
|
||||||
} => {
|
} => {
|
||||||
|
@ -4,15 +4,15 @@ description = "A regex match plugin for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_match"
|
name = "nu_plugin_match"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
regex = "1.4.3"
|
regex = "1.4.3"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
|
@ -4,14 +4,14 @@ description = "query json files with gjson"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_query_json"
|
name = "nu_plugin_query_json"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
gjson = "0.8.0"
|
gjson = "0.8.0"
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-plugin = { version = "0.41.0", path="../nu-plugin" }
|
nu-plugin = { version = "0.44.0", path="../nu-plugin" }
|
||||||
nu-protocol = { version = "0.41.0", path="../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
|
@ -4,17 +4,17 @@ description = "An S3 plugin for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_s3"
|
name = "nu_plugin_s3"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
futures = { version="0.3.12", features=["compat", "io-compat"] }
|
futures = { version="0.3.12", features=["compat", "io-compat"] }
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
s3handler = "0.7.5"
|
s3handler = "0.7.5"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
|
@ -4,17 +4,17 @@ description = "web scraping using css selector"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_selector"
|
name = "nu_plugin_selector"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
scraper = "0.12.0"
|
scraper = "0.12.0"
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-plugin = { version = "0.41.0", path="../nu-plugin" }
|
nu-plugin = { version = "0.44.0", path="../nu-plugin" }
|
||||||
nu-protocol = { version = "0.41.0", path="../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
indexmap = { version="1.7", features=["serde-1"] }
|
indexmap = { version="1.7", features=["serde-1"] }
|
||||||
|
@ -4,17 +4,17 @@ description = "A plugin to open files/URLs directly from Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_start"
|
name = "nu_plugin_start"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
glob = "0.3.0"
|
glob = "0.3.0"
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
url = "2.2.0"
|
url = "2.2.0"
|
||||||
webbrowser = "0.5.5"
|
webbrowser = "0.5.5"
|
||||||
|
|
||||||
@ -22,5 +22,5 @@ webbrowser = "0.5.5"
|
|||||||
open = "1.4.0"
|
open = "1.4.0"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
|
@ -4,19 +4,19 @@ description = "Text viewer plugin for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_textview"
|
name = "nu_plugin_textview"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-data = { path="../nu-data", version = "0.41.0" }
|
nu-data = { path="../nu-data", version = "0.44.0" }
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
|
|
||||||
bat = { version="0.18", default-features = false, features=["regex-fancy", "paging", "git"] }
|
bat = { version="0.18", default-features = false, features=["regex-onig", "paging", "git"] }
|
||||||
term_size = "0.3.2"
|
term_size = "0.3.2"
|
||||||
url = "2.2.0"
|
url = "2.2.0"
|
||||||
|
|
||||||
|
@ -4,17 +4,17 @@ description = "A converter plugin to the bson format for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_to_bson"
|
name = "nu_plugin_to_bson"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bson = { version = "2.0.1", features = [ "chrono-0_4" ] }
|
bson = { version = "2.0.1", features = [ "chrono-0_4" ] }
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
num-traits = "0.2.14"
|
num-traits = "0.2.14"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -4,17 +4,17 @@ description = "A converter plugin to the SQLite format for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_to_sqlite"
|
name = "nu_plugin_to_sqlite"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
hex = "0.4.2"
|
hex = "0.4.2"
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
nu-source = { path="../nu-source", version = "0.41.0" }
|
nu-source = { path="../nu-source", version = "0.44.0" }
|
||||||
tempfile = "3.2.0"
|
tempfile = "3.2.0"
|
||||||
|
|
||||||
[dependencies.rusqlite]
|
[dependencies.rusqlite]
|
||||||
|
@ -4,16 +4,16 @@ description = "Tree viewer plugin for Nushell"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_tree"
|
name = "nu_plugin_tree"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
derive-new = "0.5.8"
|
derive-new = "0.5.8"
|
||||||
nu-errors = { path="../nu-errors", version = "0.41.0" }
|
nu-errors = { path="../nu-errors", version = "0.44.0" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { path="../nu-protocol", version = "0.41.0" }
|
nu-protocol = { path="../nu-protocol", version = "0.44.0" }
|
||||||
ptree = { version = "0.4.0", default-features = false }
|
ptree = { version = "0.4.0", default-features = false }
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,16 +4,16 @@ description = "Traverses xml"
|
|||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
name = "nu_plugin_xpath"
|
name = "nu_plugin_xpath"
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
doctest = false
|
doctest = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
nu-errors = { version = "0.41.0", path="../nu-errors" }
|
nu-errors = { version = "0.44.0", path="../nu-errors" }
|
||||||
nu-plugin = { path="../nu-plugin", version = "0.41.0" }
|
nu-plugin = { path="../nu-plugin", version = "0.44.0" }
|
||||||
nu-protocol = { version = "0.41.0", path="../nu-protocol" }
|
nu-protocol = { version = "0.44.0", path="../nu-protocol" }
|
||||||
nu-source = { version = "0.41.0", path="../nu-source" }
|
nu-source = { version = "0.44.0", path="../nu-source" }
|
||||||
|
|
||||||
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
bigdecimal = { package = "bigdecimal", version = "0.3.0", features = ["serde"] }
|
||||||
indexmap = { version="1.6.1", features=["serde-1"] }
|
indexmap = { version="1.6.1", features=["serde-1"] }
|
||||||
@ -21,4 +21,4 @@ sxd-document = "0.3.2"
|
|||||||
sxd-xpath = "0.4.2"
|
sxd-xpath = "0.4.2"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
nu-test-support = { path="../nu-test-support", version = "0.41.0" }
|
nu-test-support = { path="../nu-test-support", version = "0.44.0" }
|
||||||
|
5
debian/changelog
vendored
5
debian/changelog
vendored
@ -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
1
debian/compat
vendored
@ -1 +0,0 @@
|
|||||||
10
|
|
18
debian/control
vendored
18
debian/control
vendored
@ -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
32
debian/copyright
vendored
@ -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
11
debian/install
vendored
@ -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
8
debian/postinst
vendored
@ -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
17
debian/postrm
vendored
@ -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
25
debian/rules
vendored
@ -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)
|
|
||||||
|
|
1
debian/source/format
vendored
1
debian/source/format
vendored
@ -1 +0,0 @@
|
|||||||
3.0 (quilt)
|
|
@ -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"]
|
|
@ -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"]
|
|
@ -1,7 +0,0 @@
|
|||||||
ARG base
|
|
||||||
FROM ${base}
|
|
||||||
|
|
||||||
ARG artifact
|
|
||||||
COPY ${artifact} /bin/
|
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/nu"]
|
|
@ -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"]
|
|
@ -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"]
|
|
@ -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}
|
|
@ -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
|
|
@ -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>
|
|
@ -86,7 +86,7 @@ version = "0.4.6"
|
|||||||
[dependencies.cursive]
|
[dependencies.cursive]
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["pancurses-backend"]
|
features = ["pancurses-backend"]
|
||||||
version = "0.41.0"
|
version = "0.44.0"
|
||||||
|
|
||||||
[dependencies.futures-preview]
|
[dependencies.futures-preview]
|
||||||
features = ["compat", "io-compat"]
|
features = ["compat", "io-compat"]
|
||||||
|
@ -14,7 +14,11 @@ pivot_mode = "auto" # auto, always, never
|
|||||||
ctrlc_exit = false
|
ctrlc_exit = false
|
||||||
complete_from_path = true
|
complete_from_path = true
|
||||||
rm_always_trash = 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
|
# 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.
|
# the color alone or with one of the following attributes.
|
||||||
|
6
samples/wasm/package-lock.json
generated
6
samples/wasm/package-lock.json
generated
@ -45,9 +45,9 @@
|
|||||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||||
},
|
},
|
||||||
"follow-redirects": {
|
"follow-redirects": {
|
||||||
"version": "1.14.4",
|
"version": "1.14.7",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz",
|
||||||
"integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g=="
|
"integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ=="
|
||||||
},
|
},
|
||||||
"fs-minipass": {
|
"fs-minipass": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
|
@ -12,9 +12,9 @@ pub mod support {
|
|||||||
pub fn in_path(dirs: &Dirs, block: impl FnOnce() -> Outcome) -> Outcome {
|
pub fn in_path(dirs: &Dirs, block: impl FnOnce() -> Outcome) -> Outcome {
|
||||||
let for_env_manifest = dirs.test().to_string_lossy();
|
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();
|
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
|
out
|
||||||
}
|
}
|
||||||
|
@ -53,3 +53,20 @@ fn plugins_are_declared_with_wix() {
|
|||||||
|
|
||||||
assert_eq!(actual.out, "0");
|
assert_eq!(actual.out, "0");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[cfg(not(windows))]
|
||||||
|
fn do_not_panic_if_broken_pipe() {
|
||||||
|
// `nu -h | false`
|
||||||
|
// used to panic with a BrokenPipe error
|
||||||
|
let child_output = std::process::Command::new("sh")
|
||||||
|
.arg("-c")
|
||||||
|
.arg(format!(
|
||||||
|
"{:?} -h | false",
|
||||||
|
nu_test_support::fs::executable_path()
|
||||||
|
))
|
||||||
|
.output()
|
||||||
|
.expect("failed to execute process");
|
||||||
|
|
||||||
|
assert!(child_output.stderr.is_empty());
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user