Jeffrey Finkelstein
d0ebd1c9d0
df: add support for --total option
...
Add support for the `--total` option to `df`, which displays the total
of each numeric column. For example,
$ df --total
Filesystem 1K-blocks Used Available Use% Mounted on
udev 3858016 0 3858016 0% /dev
...
/dev/loop14 63488 63488 0 100% /snap/core20/1361
total 258775268 98099712 148220200 40% -
2022-03-05 10:29:46 +01:00
Jeffrey Finkelstein
41acdb5471
df: borrow Row in DisplayRow::new()
...
Change the signature of `DisplayRow::new()` to borrow `Row` instead of
consuming it, so that the `Row` can be used after it is displayed.
2022-03-05 10:29:46 +01:00
Jeffrey Finkelstein
3fb36d02e3
df: add unit tests for internal helper functions
...
Add unit tests in the `df.rs` file for internal helper functions
`mount_info_lt()`, `is_best()`, `is_included()`, and
`filter_mount_list()`.
2022-03-05 10:28:37 +01:00
Jeffrey Finkelstein
7273d1f100
df: use safe wrapper function for statfs() func.
...
Replace unsafe code with a safe version of the `statfs()` function
provided by `uucore`.
2022-02-27 17:33:01 -05:00
Jeffrey Finkelstein
9f71b7ac7f
df: correct links in BlockSize documentation
2022-02-23 21:08:35 -05:00
Jeffrey Finkelstein
fc8e9f20ea
df: correctly scale bytes by block size
...
Change `df` so that it correctly scales numbers of bytes by the
default block size, 1024, when neither -h nor -H are specified on the
command-line. Previously, it was not scaling the number of bytes in
this case.
Fixes #3058 .
2022-02-22 22:51:26 -05:00
Sylvestre Ledru
775588fb18
Merge pull request #3127 from xxyzz/df
...
df: some option changes
2022-02-21 19:08:56 +01:00
Terts Diepraam
53070141c1
all: add format_usage function ( #3139 )
...
This should correct the usage strings in both the `--help` and user documentation. Previously, sometimes the name of the utils did not show up correctly.
2022-02-21 17:14:03 +01:00
xxyzz
c16c06ea0d
df: add output option's valid field names
2022-02-17 13:43:59 +08:00
xxyzz
c849b8722f
df: --output
option conflicts with -i
, -P
, -T
2022-02-14 09:10:54 +08:00
xxyzz
e77c8ff381
df: -t
may appear more than once and doesn't support delimiter
2022-02-14 09:09:35 +08:00
Jeffrey Finkelstein
b6d1aa3e73
df: always produce the same order in output table
...
Change the `filter_mount_list()` function so that it always produces
the same order of `MountInfo` objects. This change ultimately results
in `df` printing its table of filesystems in the same order on each
execution. Previously, the table was in an arbitrary order because the
`MountInfo` objects were read from a `HashMap`.
Fixes #3086 .
2022-02-12 21:14:14 -05:00
Jeffrey Finkelstein
042e537ca8
df: refactor is_included(), mount_info_lt() funcs
...
Factor two helper functions, `is_included()` and `mount_info_lt()`,
from the `filter_mount_list()` function.
2022-02-12 21:06:37 -05:00
Sylvestre Ledru
e76818bb19
Merge pull request #3083 from jfinkels/df-table-module
...
df: refactor data table into Row, Header structs
2022-02-12 11:30:28 +01:00
Jeffrey Finkelstein
9528d514bf
df: refactor data table into Row, Header structs
...
Refactor the code for representing the `df` data table into `Header`
and `Row` structs. These structs live in a new module `table.rs`. When
combined with the `Options` struct, these structs can be
`Display`ed. Organizing the code this way makes it possible to test
the display settings independently of the machinery for getting the
filesystem data. New unit tests have been added to `table.rs` to
demonstrate this benefit.
2022-02-06 21:54:58 -05:00
Jeffrey Finkelstein
572b2e032c
df: refactor filter_mount_list() to be more flat
...
Use a `for` loop in the `filter_mount_list()` function to make the
filtering logic easier to read.
2022-02-06 20:04:03 -05:00
Jeffrey Finkelstein
639971e520
df: refactor function for parsing CLI args
...
Add a `Options::from()` function to collect the code for parsing an
`Options` object from the `clap::ArgMatches` object.
2022-02-03 23:19:14 -05:00
Daniel Eades
ba45fe312a
use 'Self' and derive 'Default' where possible
2022-01-30 15:08:26 +01:00
Daniel Eades
2f85610cc3
remove explicit iter loops
2022-01-30 15:08:26 +01:00
Terts Diepraam
eb82015b23
all: change macros
...
- Change the main! proc_macro to a bin! macro_rules macro.
- Reexport uucore_procs from uucore
- Make utils to not import uucore_procs directly
- Remove the `syn` dependency and don't parse proc_macro input (hopefully for faster compile times)
2022-01-29 15:26:32 +01:00
Terts Diepraam
5f1933a89f
df: no longer override help
2022-01-29 02:06:32 +01:00
Terts Diepraam
9c8e865b55
all: enable infer long arguments in clap
2022-01-29 02:06:29 +01:00
Terts Diepraam
55a47f6fc0
Merge pull request #2863 from tertsdiepraam/clap-3
...
Clap 3
2022-01-20 23:14:52 +01:00
Roy Ivy III
2e251f91f1
0.0.12
2022-01-19 05:35:00 -06:00
Terts Diepraam
8872485922
Merge branch 'main' into clap-3
2022-01-17 13:25:51 +01:00
Sylvestre Ledru
1fbda8003c
coreutils 0.0.8 => 0.0.9, uucore_procs 0.0.7 => 0.0.8, uucore 0.0.10 => 0.0.11
2022-01-16 17:05:48 +01:00
Terts Diepraam
739217968f
df: clap 3
2022-01-11 19:16:47 +01:00
Roy Ivy III
f20aa49821
maint/CICD ~ (GHA) fix cargo-udeps
false positives (add 'ignore' exceptions to sub-crates)
2021-11-19 17:55:02 -06:00
Sylvestre Ledru
59e9870c56
Prepare version 0.0.8
2021-10-23 19:21:50 +02:00
Thomas Queiroz
00c9710206
uucore_procs+uu: specify uucore::show_error
...
This allows crates to use `#[uucore_procs::gen_uumain]` without `use uucore::show_error` or
#[macro_use]
extern crate uucore;
Removed unecessary usage
2021-10-04 19:53:16 -03:00
Sylvestre Ledru
1126013dbb
Remove unused variables on Freebsd
2021-08-24 09:32:27 +02:00
Michael Debertol
252220e9eb
refactor/uucore ~ make util_name and execution_phrase functions
...
Since util_name and execution_phrase no longer rely on features that are
only available to macros, they may as well be plain functions.
2021-08-14 17:55:18 +02:00
Roy Ivy III
c0854000d1
refactor ~ use execution_phrase!()
for usage messaging
2021-08-14 14:01:33 +02:00
Roy Ivy III
23b68d80ba
refactor ~ usage()
instead of get_usage()
2021-08-14 13:58:43 +02:00
Roy Ivy III
c5792c2a0f
refactor ~ use util_name!()
as clap::app::App name argument for all utils
2021-08-14 13:53:13 +02:00
Terts Diepraam
1649217116
uucore: remove distinction between common and custom errors
...
As custom errors are prefered over wrapping around common errors, the
distinction between UCommonError and UCustomError is removed. This
reduces the number of types and makes the error handling easier to
understand.
2021-08-10 17:55:28 +02:00
Syukron Rifail M
5c7afe7a6b
df: add UResult
2021-07-24 20:18:57 +07:00
Sylvestre Ledru
26a882551b
update the dep to uucore_procs 0.0.6
2021-07-11 21:04:11 +02:00
Sylvestre Ledru
1d8a66b7d3
Update to version 0.0.7
2021-07-11 18:04:56 +02:00
Michael Debertol
2ebca384c6
all utils: enable wrap_help
...
This makes clap wrap the help text according to the terminal width,
which improves readability for terminal widths < 120 chars,
because clap defaults to a width of 120 chars without this feature.
2021-06-27 16:17:10 +02:00
Michael Debertol
0531153fa6
uutils: move clap::App creation to separate functions
2021-06-25 21:23:45 +02:00
Sylvestre Ledru
d8c06dd6bb
use clap::crate_version macro instead of the env variable
2021-06-02 19:00:19 +02:00
Roy Ivy III
6e1bd6027a
refactor/du ~ polish spelling (comments, names, and exceptions)
2021-05-31 08:11:32 -05:00
Roy Ivy III
9c0c8eb59f
change ~ remove 'main.rs' spell-checker exceptions
2021-05-31 08:11:31 -05:00
Jan Scheer
381f8dafc6
df/uucore: refactor - move duplicate code to uucore/fsext.rs
2021-05-10 23:37:01 +02:00
David CARLIER
224c8b3f94
df output update (non inode mode) proposal specific for mac. on this platform, capacity column is also displayed.
2021-05-03 15:49:55 +01:00
Reto Hablützel
a4253d1254
apply more clippy suggestions from nightly
2021-04-12 20:07:10 +02:00
Sylvestre Ledru
f37284129e
new release 0.0.6 to address the cat issue
2021-04-03 16:06:58 +02:00
Sylvestre Ledru
ac031dffa4
new release 0.0.5
2021-04-03 10:30:07 +02:00
aspen
4e29b693f8
uutils: change every target_os = "macos"
to target_vendor = "apple"
2021-03-18 08:42:53 -04:00
Sylvestre Ledru
6ad8528b99
update of the uucore dep to 0.0.7
2021-03-07 11:29:38 +01:00
Sylvestre Ledru
6481c5a247
Prepare version 0.0.4
2021-03-07 11:29:38 +01:00
Chad Brewbaker
bb54669a5d
Fix macOS aarch64 compile errors ( #1724 )
2021-02-23 10:25:06 +01:00
Sylvestre Ledru
262b508b89
update the dep to uucore 0.0.6
2021-02-01 23:55:43 +01:00
Sylvestre Ledru
a807fc623a
Update to version 0.0.3
2021-01-22 09:40:38 +01:00
Sylvestre Ledru
b8e886ad1a
bump the minimal version of uucore & uucore_procs
2021-01-10 18:27:20 +01:00
Sylvestre Ledru
d9ae043a05
update of the version 0.0.1 => 0.0.2 ( #1686 )
2021-01-10 18:16:04 +01:00
Sylvestre Ledru
7942a64231
Remove 'extern crate'
...
Not necessary anymore. See:
https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html#no-more-extern-crate
2020-12-31 15:44:00 +01:00
Sylvestre Ledru
36d903e611
number-prefix: Move from 0.2 to 0.4 ( #1670 )
2020-12-22 13:53:20 +01:00
Sylvestre Ledru
5f47d1249d
use the same version of clap everywhere
2020-12-01 22:59:14 +01:00
Sylvestre Ledru
6870d81b33
Merge pull request #1631 from sylvestre/clap-version
...
Remove version mgmt, it is done by clap
2020-11-20 10:02:33 +01:00
Roy Ivy III
6539b8c6b9
maint/deps ~ change version specification for dependencies between sub-packages
...
- refactor internal version specifications to be ">=M.m.p" (where M.m.p is *already published*)
## [why]
Loosening internal version dependencies decreases the coupling between packages such
that packages can be published in a looser order. It allows the packages to be version
updated and published in tandem (ie, by using `cargo workspace ...`). Once published,
the internal versions can then be updated (again, to an *already published* package
version), as needed.
2020-11-08 20:26:46 -06:00
Roy Ivy III
c17307c757
fix ~ update workspace pointers to 'uucore' and 'uucore_procs'
2020-11-08 20:26:46 -06:00
Sylvestre Ledru
5c8e47a4d1
Remove version mgmt, it is done by clap
2020-11-08 17:55:31 +01:00
Sylvestre Ledru
a12509f32e
Fix some clippy warnings
2020-10-25 15:50:51 +01:00
Alex Lyon
110d6844ad
Use an iterator over OsString for uumain()
...
Additionally, restructure `uname` so that we don't need to find the
iterator's length.
2020-06-16 03:28:02 -05:00
Roy Ivy III
fbbd881ca9
docs ~ reduce sub-crate meta-information keywords to the maximum of five
2020-05-31 15:48:54 -05:00
Roy Ivy III
f82de13847
docs ~ spell-check repairs and addition of exceptions
2020-05-30 01:36:02 -05:00
Roy Ivy III
6f465eeb9f
deps ~ update utils to uucore/uucore_procs v0.0.4
2020-05-29 22:59:48 -05:00
Roy Ivy III
251905da3d
fix/du ~ update to correct WinAPI usage ( fixes #1496 )
2020-05-29 22:59:47 -05:00
Roy Ivy III
d70db1f7d2
docs ~ improve/update sub-crate meta information
2020-05-29 22:59:47 -05:00
Roy Ivy III
7cfa8be5f2
docs ~ add meta information to sub-crates
2020-05-29 22:59:47 -05:00
Roy Ivy III
db2e950918
change ~ make all sub-crates independent
2020-05-29 22:59:40 -05:00
Sylvestre Ledru
7e3f32d4db
style(df): rustfmt src/uu/df/src/df.rs
2020-05-04 10:56:16 +02:00
Roy Ivy III
23b49101c0
fix/df ~ fix build script for sub-crate builds
2020-05-03 14:54:57 -05:00
Roy Ivy III
81d85f398b
fix/df ~ missing windows imports
2020-05-03 14:54:57 -05:00
Roy Ivy III
091a356807
fix/df ~ correct number suffix display by using number_prefix PrefixNames::symbol()
2020-05-03 14:53:13 -05:00
Sylvestre Ledru
fc83024ebe
refactor(df): use number_prefix like 'ls' instead of doing the display by hand
2020-05-03 13:29:55 -05:00
Sylvestre Ledru
90de33d5d7
maint/df: relax the dependencies
2020-05-03 12:27:55 -05:00
Roy Ivy III
2d5d0680d8
fix(df) ~ fix lint complaint (unused import)
2020-05-03 12:00:42 -05:00
Sylvestre Ledru
8d1f0edfc4
refact(df): follow the same directory pattern than the other software
2020-05-03 11:51:33 -05:00
Sylvestre Ledru
c85756e509
fix(df): Linux: Fix the mount path and type
2020-05-03 11:51:33 -05:00
Sylvestre Ledru
8f6770401d
feat(df): Add the support of path for df. ex: df /boot
2020-05-03 11:51:33 -05:00
Sylvestre Ledru
2aed7cb035
fix(df): Fix Windows support
...
- add required handleapi feature for winapi crate
- remove unneeded 'unsafe' section
- remove unused import (GetDiskFreeSpaceExW)
- fix Windows df execution
Co-Authored-By: Roy Ivy III <rivy.dev@gmail.com>
2020-04-28 13:16:19 -05:00
Sylvestre Ledru
f9456e80c3
fix(df): Add support for freebsd
2020-04-28 13:11:22 -05:00
Sylvestre Ledru
8545f03e0f
fix(df): Improve MacOSX support
2020-04-28 13:11:21 -05:00
Sylvestre Ledru
dd1a212550
style(df): Fix warnings + cargo fmt
...
Co-Authored-By: Roy Ivy III <rivy.dev@gmail.com>
2020-04-28 13:11:04 -05:00
Sylvestre Ledru
d5228b5a64
feat(df) add 'df' uutil
2020-04-28 13:05:55 -05:00