mirror of
https://github.com/bootandy/dust.git
synced 2025-12-05 20:40:11 -08:00
* v1.0 * renamed operations to be more clear * put info later because there is still operations par of the preparing process * updated the last line clearing * changed name of module and structs to ones that make more sens * Disable size computation when file_count option is set * added sleep during the thread waiting * use 1024 powered instead of 10 to compute showed number * include DS_Store * added files directories skipped information * small format update * implement the -H option * put wait back * remove PAtomicInfo since it's not used * cargo fmt * wrapped atomic operations to reduce overhead * updated comments * Use AtomicU64Wrapper instead of AtomicU64 in TotalSize * update size suffix * sto dividing size when larger than terabytes * Fix use_iso flag not be set properly * update properties display * some reformating * use stdout instead of print * Moved config instance into main because it's easier to read * merge base formatting into macro * update name to be more intuitive and separated math operations for more flexibility * print currently indexed path * cargo fmt * reset size between each target dirs * Access to TotalSize rather than it's inner * small comment change * Update sysinfo version to 0.26.7 * fix: update use of sysinfo.system System is now much quicker to start but requires an explicit call to refresh memory else it deafults to 0 (oops) * clippy: Fix new clippy * fix: bug where hard links could be double counted When running: dust dir_a dir_b if a file was hard linked in both dir_a and dir_b it would be double counted. This fix resolves this by keeping the shared hashmap around between runs for the second and subsequent arguments. https://github.com/bootandy/dust/issues/282 * Fix: depth=0 bug for multiple arguments https://github.com/bootandy/dust/issues/282 * refactor filter.rs * refactor filter.rs * refactor create AggregateData for filter.rs * feature: Support for dereference links -L follow du has -L flag which allows it to dereference or follow symlinks. Clone this feature into dust. https://github.com/bootandy/dust/issues/276 * refactor dir_walker I find this layout cleaner * v1.0 * changed name of module and structs to ones that make more sens * Disable size computation when file_count option is set * added files directories skipped information * implement the -H option * wrapped atomic operations to reduce overhead * used human_readable_number function in display module rather than our own * implemented progress disabling * cargo fmt & cargo clippy Co-authored-by: Guillaume Gomez <guillaume1.gomez@gmail.com> Co-authored-by: andy.boot <bootandy@gmail.com>
70 lines
3.8 KiB
Plaintext
70 lines
3.8 KiB
Plaintext
|
|
use builtin;
|
|
use str;
|
|
|
|
set edit:completion:arg-completer[dust] = {|@words|
|
|
fn spaces {|n|
|
|
builtin:repeat $n ' ' | str:join ''
|
|
}
|
|
fn cand {|text desc|
|
|
edit:complex-candidate $text &display=$text' '(spaces (- 14 (wcswidth $text)))$desc
|
|
}
|
|
var command = 'dust'
|
|
for word $words[1..-1] {
|
|
if (str:has-prefix $word '-') {
|
|
break
|
|
}
|
|
set command = $command';'$word
|
|
}
|
|
var completions = [
|
|
&'dust'= {
|
|
cand -d 'Depth to show'
|
|
cand --depth 'Depth to show'
|
|
cand -n 'Number of lines of output to show. (Default is terminal_height - 10)'
|
|
cand --number-of-lines 'Number of lines of output to show. (Default is terminal_height - 10)'
|
|
cand -X 'Exclude any file or directory with this name'
|
|
cand --ignore-directory 'Exclude any file or directory with this name'
|
|
cand -z 'Minimum size file to include in output'
|
|
cand --min-size 'Minimum size file to include in output'
|
|
cand -v 'Exclude filepaths matching this regex. To ignore png files type: -v "\.png$" '
|
|
cand --invert-filter 'Exclude filepaths matching this regex. To ignore png files type: -v "\.png$" '
|
|
cand -e 'Only include filepaths matching this regex. For png files type: -e "\.png$" '
|
|
cand --filter 'Only include filepaths matching this regex. For png files type: -e "\.png$" '
|
|
cand -w 'Specify width of output overriding the auto detection of terminal width'
|
|
cand --terminal_width 'Specify width of output overriding the auto detection of terminal width'
|
|
cand -h 'Print help information'
|
|
cand --help 'Print help information'
|
|
cand -V 'Print version information'
|
|
cand --version 'Print version information'
|
|
cand -p 'Subdirectories will not have their path shortened'
|
|
cand --full-paths 'Subdirectories will not have their path shortened'
|
|
cand -L 'dereference sym links - Treat sym links as directories and go into them'
|
|
cand --dereference-links 'dereference sym links - Treat sym links as directories and go into them'
|
|
cand -x 'Only count the files and directories on the same filesystem as the supplied directory'
|
|
cand --limit-filesystem 'Only count the files and directories on the same filesystem as the supplied directory'
|
|
cand -s 'Use file length instead of blocks'
|
|
cand --apparent-size 'Use file length instead of blocks'
|
|
cand -r 'Print tree upside down (biggest highest)'
|
|
cand --reverse 'Print tree upside down (biggest highest)'
|
|
cand -c 'No colors will be printed (Useful for commands like: watch)'
|
|
cand --no-colors 'No colors will be printed (Useful for commands like: watch)'
|
|
cand -b 'No percent bars or percentages will be displayed'
|
|
cand --no-percent-bars 'No percent bars or percentages will be displayed'
|
|
cand --skip-total 'No total row will be displayed'
|
|
cand -f 'Directory ''size'' is number of child files/dirs not disk size'
|
|
cand --filecount 'Directory ''size'' is number of child files/dirs not disk size'
|
|
cand -i 'Do not display hidden files'
|
|
cand --ignore_hidden 'Do not display hidden files'
|
|
cand -t 'show only these file types'
|
|
cand --file_types 'show only these file types'
|
|
cand -H 'print sizes in powers of 1000 (e.g., 1.1G)'
|
|
cand --si 'print sizes in powers of 1000 (e.g., 1.1G)'
|
|
cand -P 'Disable the progress indication.'
|
|
cand --no-progress 'Disable the progress indication.'
|
|
cand -D 'Only directories will be displayed.'
|
|
cand --only-dir 'Only directories will be displayed.'
|
|
}
|
|
]
|
|
$completions[$command]
|
|
}
|