forked from extern/nushell
b0600449e5dee87e9f2d95e38b46782e5ed45a45
6 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
e72a4116ec |
adjust some commansd input_output type (#11436)
# Description 1. Make table to be a subtype of `list<any>`, so some input_output_types of filter commands are unnecessary 2. Change some commands which accept an input type, but generates different output types. In this case, delete duplicate entry, and change relative output type to `<any>` Yeah it makes some commands more permissive, but I think it's better to run into strange issue that why my script runs to failed during parse time. Fixes #11193 # User-Facing Changes NaN # Tests + Formatting NaN # After Submitting NaN |
|||
1867bb1a88 |
Fix incorrect handling of boolean flags for builtin commands (#11492)
# Description
Possible fix of #11456
This PR fixes a bug where builtin commands did not respect the logic of
dynamically passed boolean flags. The reason is
[has_flag](
|
|||
cd0a52cf00 |
Fix build for BSDs (#11372)
# Description This PR fixes build for BSD variants (including FreeBSD and NetBSD). Currently, `procfs` only support linux, android and l4re, and |
|||
a6da8ce769 |
Allow filesize type as a valid limit value (#11349)
# Description This pr allow us to use `filesize` type as a valid limit value, which is benefit for some file size based limits. # User-Facing Changes ```console /data/source/nushell> ulimit -f ╭───┬─────────────────────────────────────────────────────┬───────────┬───────────╮ │ # │ description │ soft │ hard │ ├───┼─────────────────────────────────────────────────────┼───────────┼───────────┤ │ 0 │ Maximum size of files created by the shell (kB, -f) │ unlimited │ unlimited │ ╰───┴─────────────────────────────────────────────────────┴───────────┴───────────╯ /data/source/nushell> ulimit -f 10Mib /data/source/nushell> ulimit -f ╭───┬─────────────────────────────────────────────────────┬───────┬───────╮ │ # │ description │ soft │ hard │ ├───┼─────────────────────────────────────────────────────┼───────┼───────┤ │ 0 │ Maximum size of files created by the shell (kB, -f) │ 10240 │ 10240 │ ╰───┴─────────────────────────────────────────────────────┴───────┴───────╯ /data/source/nushell> ulimit -n ╭───┬──────────────────────────────────────────────┬──────┬────────╮ │ # │ description │ soft │ hard │ ├───┼──────────────────────────────────────────────┼──────┼────────┤ │ 0 │ Maximum number of open file descriptors (-n) │ 1024 │ 524288 │ ╰───┴──────────────────────────────────────────────┴──────┴────────╯ /data/source/nushell> ulimit -n 10Mib Error: nu:🐚:type_mismatch × Type mismatch. ╭─[entry #5:1:1] 1 │ ulimit -n 10Mib · ─┬─ · ╰── filesize is not compatible with resource RLIMIT_NOFILE ╰──── ``` # Tests + Formatting Make sure you've run and fixed any issues with these commands: - [x] add `commands::ulimit::limit_set_filesize1` - [x] add `commands::ulimit::limit_set_filesize2` - [x] `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - [x] `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - [x] `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - [x] `cargo run -- -c "use std testing; testing run-tests --path crates/nu-std"` to run the tests for the standard library |
|||
7d5bd0d6be |
Allow int type as a valid limit value (#11346)
# Description This PR allows `int` type as a valid limit value for `ulimit`, so there is no need to use `into string` to convert limit values in the tests. # User-Facing Changes N/A # Tests + Formatting Make sure you've run and fixed any issues with these commands: - [x] add `commands::ulimit::limit_set_invalid3` - [x] add `commands::ulimit::limit_set_invalid4` - [x] add `commands::ulimit::limit_set_invalid5` - [x] `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - [x] `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - [x] `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - [x] `cargo run -- -c "use std testing; testing run-tests --path crates/nu-std"` to run the tests for the standard library |
|||
84742275a1 |
Add ulimit command (#11324)
# Description Add `ulimit` command to Nushell. Closes #9563 Closes #3976 Related pr #11246 Reference: https://github.com/fish-shell/fish-shell/blob/master/fish-rust/src/builtins/ulimit.rs https://github.com/mirror/busybox/blob/master/shell/shell_common.c#L529 # User-Facing Changes ``` nushell on ulimit is 📦 v0.88.2 via 🦀 v1.72.1 [3/246] ❯ ulimit -a ╭────┬──────────────────────────────────────────────────────────────────────────┬───────────┬───────────╮ │ # │ description │ soft │ hard │ ├────┼──────────────────────────────────────────────────────────────────────────┼───────────┼───────────┤ │ 0 │ Maximum size of core files created (kB, -c) │ unlimited │ unlimited │ │ 1 │ Maximum size of a process's data segment (kB, -d) │ unlimited │ unlimited │ │ 2 │ Controls of maximum nice priority (-e) │ 0 │ 0 │ │ 3 │ Maximum size of files created by the shell (kB, -f) │ unlimited │ unlimited │ │ 4 │ Maximum number of pending signals (-i) │ 55273 │ 55273 │ │ 5 │ Maximum size that may be locked into memory (kB, -l) │ 8192 │ 8192 │ │ 6 │ Maximum resident set size (kB, -m) │ unlimited │ unlimited │ │ 7 │ Maximum number of open file descriptors (-n) │ 1024 │ 524288 │ │ 8 │ Maximum bytes in POSIX message queues (kB, -q) │ 800 │ 800 │ │ 9 │ Maximum realtime scheduling priority (-r) │ 0 │ 0 │ │ 10 │ Maximum stack size (kB, -s) │ 8192 │ unlimited │ │ 11 │ Maximum amount of CPU time in seconds (seconds, -t) │ unlimited │ unlimited │ │ 12 │ Maximum number of processes available to the current user (-u) │ 55273 │ 55273 │ │ 13 │ Maximum amount of virtual memory available to each process (kB, -v) │ unlimited │ unlimited │ │ 14 │ Maximum number of file locks (-x) │ unlimited │ unlimited │ │ 15 │ Maximum contiguous realtime CPU time (-y) │ unlimited │ unlimited │ ╰────┴──────────────────────────────────────────────────────────────────────────┴───────────┴───────────╯ nushell on ulimit is 📦 v0.88.2 via 🦀 v1.72.1 ❯ ulimit -s ╭───┬─────────────────────────────┬──────┬───────────╮ │ # │ description │ soft │ hard │ ├───┼─────────────────────────────┼──────┼───────────┤ │ 0 │ Maximum stack size (kB, -s) │ 8192 │ unlimited │ ╰───┴─────────────────────────────┴──────┴───────────╯ nushell on ulimit is 📦 v0.88.2 via 🦀 v1.72.1 ❯ ulimit -s 100 nushell on ulimit is 📦 v0.88.2 via 🦀 v1.72.1 ❯ ulimit -s ╭───┬─────────────────────────────┬──────┬──────╮ │ # │ description │ soft │ hard │ ├───┼─────────────────────────────┼──────┼──────┤ │ 0 │ Maximum stack size (kB, -s) │ 100 │ 100 │ ╰───┴─────────────────────────────┴──────┴──────╯ nushell on ulimit is 📦 v0.88.2 via 🦀 v1.72.1 ``` # Tests + Formatting - [x] add commands::ulimit::limit_set_soft1 - [x] add commands::ulimit::limit_set_soft2 - [x] add commands::ulimit::limit_set_hard1 - [x] add commands::ulimit::limit_set_hard2 - [x] add commands::ulimit::limit_set_invalid1 - [x] add commands::ulimit::limit_set_invalid2 - [x] `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - [x] `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - [x] `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - [x] `cargo run -- -c "use std testing; testing run-tests --path crates/nu-std"` to run the tests for the standard library |