Commit graph

5308 commits

Author SHA1 Message Date
Michael Debertol
bc0727cc4d [: add support for --help and --version
I copied the help text verbatim from GNU, I hope that's ok.
2021-07-06 13:15:07 +02:00
Michael Debertol
cd83aed89c test: go into '[' mode when executable ends with [
This makes [ work even when installed with a custom prefix, e.g. as uu-[.
2021-06-29 00:28:01 +02:00
Michael Debertol
97d14893a1 [: install test as [ as well 2021-06-29 00:27:58 +02:00
Sylvestre Ledru
5fce7ecbaa
Merge pull request #2414 from miDeb/completions2
uutils: implement shell completions
2021-06-26 21:26:23 +02:00
Michael Debertol
9b8150d283 uutils: document completions in the readme 2021-06-25 21:23:45 +02:00
Michael Debertol
a87538b77d uutils: uninstall shell completions 2021-06-25 21:23:45 +02:00
Michael Debertol
73cfcc27e7 cp: insert some spaces into the help text 2021-06-25 21:23:45 +02:00
Michael Debertol
2e027bf45d true, false: enable --help and --version 2021-06-25 21:23:45 +02:00
Michael Debertol
0fec449de3 mkfifo: make rustfmt work 2021-06-25 21:23:45 +02:00
Michael Debertol
a8d62b9b23 fmt: fix indentation for help 2021-06-25 21:23:45 +02:00
Michael Debertol
a9e79c72c7 uutils: enable shell completions
This adds a hidden `completion` subcommand to coreutils. When invoked with
`coreutils completion <utility> <shell>` a completion file will be printed
to stdout. When running `make install` those files will be created for all
utilities and copied to the appropriate locations.
`make install` will install completions for zsh, fish and bash; however,
clap also supports generating completions for powershell and elvish.

With this patch all utilities are required to have a publich uu_app function
that returns a clap::App in addition to the uumain function.
2021-06-25 21:23:45 +02:00
Michael Debertol
0531153fa6 uutils: move clap::App creation to separate functions 2021-06-25 21:23:45 +02:00
Sylvestre Ledru
5981351222
Merge pull request #2455 from miDeb/sort/human-numeric
sort: compatibility of human-numeric sort
2021-06-25 21:22:21 +02:00
Michael Debertol
004b5d1b38 format: formatting 2021-06-25 19:35:33 +02:00
Michael Debertol
548a895cd6 sort: compatibility of human-numeric sort
Closes #1985.
This makes human-numeric sort follow the same algorithm as GNU's/FreeBSD's sort.
As documented by GNU in https://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html,
we first compare by sign, then by si unit and finally by the numeric value.
2021-06-25 18:19:00 +02:00
Sylvestre Ledru
fef8761ac1
Merge pull request #2443 from miDeb/sort/data-oriented
sort: separate additional data from the Line struct
2021-06-24 21:19:23 +02:00
Sylvestre Ledru
ab5d581fa4
Merge pull request #2439 from tertsdiepraam/numfmt/round-and-c-locale
`numfmt`: add `--round` and other minor improvements
2021-06-24 21:18:59 +02:00
Sylvestre Ledru
5d7cf61128
Merge pull request #2429 from miDeb/install/target-dir
install: support --target-directory
2021-06-24 21:06:44 +02:00
Michael Debertol
8bebfbb3e6 sort: don't store slices for general numeric sort
Gerenal numeric sort works by comparing pre-parsed floating point
numbers. That means that we don't have to store the &str the float was
parsed from.

As a result, memory usage was slightly reduced for general numeric sort.
2021-06-24 18:33:33 +02:00
Sylvestre Ledru
9d7e634789
Merge pull request #2454 from jvasile/docs-uutil
Fix typo: duplicated word
2021-06-24 16:55:12 +02:00
James Vasile
b03d4c02bb Fix typo: duplicated word 2021-06-24 10:44:47 -04:00
Sylvestre Ledru
f421761333
Merge pull request #2448 from sylvestre/gnu-fail-early
CI/GNU: if an error is detected, don't generate the json file
2021-06-24 10:23:25 +02:00
Sylvestre Ledru
f6035d2a60
Merge pull request #2453 from rivy/fix.spell
docs ~ fix addition of 'jhscheer' to spell-checker exceptions word list
2021-06-24 08:04:57 +02:00
Roy Ivy III
2990ebd0aa docs ~ fix addition of 'jhscheer' to spell-checker exceptions word list 2021-06-23 17:02:25 -05:00
Sylvestre Ledru
3b2d0d17fa
Merge pull request #2446 from jhscheer/groups_gnu_testsuite
groups: fixes to pass GNU's Testsuite
2021-06-23 20:15:12 +02:00
Sylvestre Ledru
daf9bdcace
Merge pull request #2452 from rivy/fix.cicd-deps
Fix CICD dependency display errors
2021-06-23 20:13:22 +02:00
Roy Ivy III
b881c4ef92 docs ~ add 'Jan Scheer' to spell-checker exceptions word list 2021-06-23 12:10:48 -05:00
Sylvestre Ledru
44c770d234
Merge pull request #2450 from jhscheer/id_refactor_identifier
id: refactor identifiers
2021-06-23 19:05:57 +02:00
Roy Ivy III
42fed9186d maint/docs ~ add ToDO for change from cargo-tree to cargo tree 2021-06-23 12:03:35 -05:00
Roy Ivy III
17a959853e maint/CICD ~ suppress useless rustup notices 2021-06-23 10:05:49 -05:00
Roy Ivy III
8884666ce0 maint/CICD ~ fix dependency display errors (relax network lockout) 2021-06-23 10:00:27 -05:00
Jan Scheer
11f36eae3b tests/groups: fix/add tests for (multiple) username(s) 2021-06-23 16:50:03 +02:00
Sylvestre Ledru
d40fc65ee6
Merge branch 'master' into numfmt/round-and-c-locale 2021-06-23 12:39:55 +02:00
Sylvestre Ledru
a73e71ba74
Merge pull request #2437 from miDeb/cp/reflink-auto
cp: default to --reflink=auto on linux and macos
2021-06-23 12:37:44 +02:00
Sylvestre Ledru
87eaf6e80a
Merge pull request #2447 from jhscheer/locale_c
fix some issues with locale (replace "LANGUAGE" with "LC_ALL")
2021-06-23 12:36:40 +02:00
Jan Scheer
4b3da59b0e id: refactor identifiers
* change of identifier names and spelling according to the suggestions in the review of #2446
2021-06-23 12:27:01 +02:00
Jan Scheer
c0be979611 fix some issues with locale (replace "LANGUAGE" with "LC_ALL")
`LANGUAGE=C` is not enough, `LC_ALL=C` is needed as the environment
variable that overrides all the other localization settings.

e.g.
```bash
$ LANGUAGE=C id foobar
id: ‘foobar’: no such user

$ LC_ALL=C id foobar
id: 'foobar': no such user
```

* replace `LANGUAGE` with `LC_ALL` as environment variable in the tests
* fix the the date string of affected uutils
* replace `‘` and `’` with `'`
2021-06-23 11:30:28 +02:00
Sylvestre Ledru
178399c20e
Merge pull request #2449 from miDeb/temp-win
Make tests pass on a windows VM
2021-06-23 08:40:30 +02:00
Michael Debertol
d60afb8947 mkdir: note that -m is not supported on windows 2021-06-23 00:59:51 +02:00
Michael Debertol
ce0801db90 tests/mv: test uutils mv instead of system util
Calling `cmd_keepenv("mv")` spawned the system `mv` instead of
the uutils `mv`. Also, `keepenv` isn't necessary because it doesn't
need to inherit environment variables.
We now actually check the stderr, because previously the result of
`ends_with` was not used, making the test pass even when it shouldn't.

I disabled the test on windows because `mkdir` does not support `-m` on
windows, making the test fail because there will be no permission error.
On FreeBSD there isn't a permission error either, and `mv` succeeds.
2021-06-23 00:58:19 +02:00
Michael Debertol
4a956f38b9 sort: separate additional data from the Line struct
Data that was previously boxed inside the `Line` struct was moved to
separate vectors. Inside of each `Line` remains only an index that
allows to access that data.
This helps with keeping the `Line` struct small and therefore reduces
memory usage in most cases.
Additionally, this improves performance because one big allocation (the
vectors) are faster than many small ones (many boxes inside of each
`Line`). Those vectors can be reused as well, reducing the amount of
(de-)allocations.
2021-06-23 00:36:05 +02:00
Sylvestre Ledru
34db1c5916
Simple dash, not double 2021-06-22 18:03:12 +02:00
Michael Debertol
622504467f mktemp: note that windows uses a different env var for tmpdir
On windows `std::env::temp_dir` uses the `TMP` environment variable
instead of `TMPDIR`.
2021-06-22 17:44:45 +02:00
Michael Debertol
e5a7bcbb9d tests: keep env vars for the temporary directory
On some Windows machines this would otherwise cause `std::env::temp_dir`
to fall back to a path that is not writeable (C:\\Windows).
Since by default integration tests don't inherit env vars from the
parent, we have to override this in some cases.
2021-06-22 17:43:46 +02:00
Sylvestre Ledru
ed8d390ca7 CI/GNU: if an error is detected, don't generate the json file
Avoid to generate incorrect json files
2021-06-22 14:32:26 +02:00
Sylvestre Ledru
e48ff9dd9e
Merge pull request #2441 from siebenHeaven/ls_dangling_symlinks
ls: Fix problems dealing with dangling symlinks
2021-06-21 22:34:15 +02:00
Sylvestre Ledru
a982030032
Merge pull request #2386 from youknowone/dircolors-double-scan
Prevent double scanning from dircolors
2021-06-21 22:31:24 +02:00
Sylvestre Ledru
2f11a23016
Merge pull request #2431 from miDeb/pr/races
tests/pr: include one more possible minute
2021-06-21 22:30:37 +02:00
Sylvestre Ledru
97ce44b102
Merge pull request #2407 from hbina/hbina-more-terminal-resize
Improvements to `more`.
2021-06-21 22:30:07 +02:00
Anup Mahindre
4b3224dd82
ls: Fix clippy warning 2021-06-21 20:29:22 +05:30