diff -Nru rust-eza-0.17.2/.cargo_vcs_info.json rust-eza-0.18.2/.cargo_vcs_info.json --- rust-eza-0.17.2/.cargo_vcs_info.json 1970-01-01 00:00:01.000000000 +0000 +++ rust-eza-0.18.2/.cargo_vcs_info.json 1970-01-01 00:00:01.000000000 +0000 @@ -1,6 +1,6 @@ { "git": { - "sha1": "29366eb2115f08a021427bcc05790fe2dce72832" + "sha1": "cc9924937fc82e0d3a187a87d21f47eb7367b459" }, "path_in_vcs": "" } \ No newline at end of file diff -Nru rust-eza-0.17.2/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md rust-eza-0.18.2/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md --- rust-eza-0.17.2/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md 2006-07-24 01:21:28.000000000 +0000 @@ -8,7 +8,7 @@ - + ##### How Has This Been Tested? diff -Nru rust-eza-0.17.2/.github/workflows/conventional-commits.yml rust-eza-0.18.2/.github/workflows/conventional-commits.yml --- rust-eza-0.17.2/.github/workflows/conventional-commits.yml 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/.github/workflows/conventional-commits.yml 2006-07-24 01:21:28.000000000 +0000 @@ -17,4 +17,4 @@ steps: - uses: actions/checkout@v4 - - uses: webiny/action-conventional-commits@v1.2.0 + - uses: webiny/action-conventional-commits@v1.3.0 diff -Nru rust-eza-0.17.2/.github/workflows/unit-tests.yml rust-eza-0.18.2/.github/workflows/unit-tests.yml --- rust-eza-0.17.2/.github/workflows/unit-tests.yml 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/.github/workflows/unit-tests.yml 2006-07-24 01:21:28.000000000 +0000 @@ -43,7 +43,7 @@ - uses: Swatinem/rust-cache@v2 - name: Install cargo-hack - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: timeout_minutes: 5 max_attempts: 5 diff -Nru rust-eza-0.17.2/CHANGELOG.md rust-eza-0.18.2/CHANGELOG.md --- rust-eza-0.17.2/CHANGELOG.md 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/CHANGELOG.md 2006-07-24 01:21:28.000000000 +0000 @@ -1,5 +1,78 @@ # Changelog +## [0.18.2] - 2024-02-08 + +### Bug Fixes + +- Update libgit2 to 1.7.2 + +## [0.18.1] - 2024-02-08 + +### Bug Fixes + +- Change shasum for main commit + +### Documentation + +- Add manual installation section + +### Miscellaneous Tasks + +- Release eza v0.18.1 + +### Refactor + +- Replace scoped_threadpool with rayon + +### Build + +- Add empty rustfmt to ensure project specific settings +- Bump libc from 0.2.151 to 0.2.152 +- Bump nick-fields/retry from 2 to 3 +- Bump palette from 0.7.3 to 0.7.4 +- Bump webiny/action-conventional-commits from 1.2.0 to 1.3.0 + +## [0.18.0] - 2024-02-01 + +### Features + +- [**breaking**] Add --classify=always,auto,never + +### Miscellaneous Tasks + +- Remove rustfmt config file that has a nightly only option in favor of rustfmt skip directive which is already in place +- Fix small typo in pull request template +- Release eza v0.18.0 + +### Refactor + +- Change cast to coertion, remove rustfmt skip and clippy lint ignore directives + +### Testing + +- Regenerate classification related tests + +### Build + +- Change flake inputs + +## [0.17.3] - 2024-01-25 + +### Bug Fixes + +- Remove version testing + +### Miscellaneous Tasks + +- Avoid `unwrap()` by changing filter-then-map to `filter_map` +- Release eza v0.17.3 + +### Build + +- Bump shlex from 1.2.0 to 1.3.0 +- Bump chrono from 0.4.31 to 0.4.33 +- Bump trycmd from 0.14.19 to 0.14.20 + ## [0.17.2] - 2024-01-20 ### Bug Fixes @@ -7,6 +80,10 @@ - Crash using --git-repos on unreadable dir - Crash using --git-repos on unreadable dir +### Miscellaneous Tasks + +- Release eza v0.17.2 + ### Build - Add cargo-bump for releasing diff -Nru rust-eza-0.17.2/Cargo.lock rust-eza-0.18.2/Cargo.lock --- rust-eza-0.17.2/Cargo.lock 1970-01-01 00:00:01.000000000 +0000 +++ rust-eza-0.18.2/Cargo.lock 1970-01-01 00:00:01.000000000 +0000 @@ -50,9 +50,9 @@ [[package]] name = "anstream" -version = "0.6.4" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" dependencies = [ "anstyle", "anstyle-parse", @@ -164,14 +164,14 @@ [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] @@ -284,16 +284,6 @@ ] [[package]] -name = "crossbeam-channel" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] - -[[package]] name = "crossbeam-deque" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -387,7 +377,7 @@ [[package]] name = "eza" -version = "0.17.2" +version = "0.18.2" dependencies = [ "ansiterm", "chrono", @@ -398,7 +388,6 @@ "locale", "log", "natord", - "num_cpus", "number_prefix", "once_cell", "palette", @@ -406,7 +395,7 @@ "phf", "plist", "proc-mounts", - "scoped_threadpool", + "rayon", "terminal_size", "timeago", "trycmd", @@ -453,9 +442,9 @@ [[package]] name = "git2" -version = "0.18.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd" +checksum = "1b3ba52851e73b46a4c3df1d89343741112003f0f6f13beb0dfac9e457c3fdcd" dependencies = [ "bitflags 2.4.0", "libc", @@ -595,15 +584,15 @@ [[package]] name = "libc" -version = "0.2.151" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "libgit2-sys" -version = "0.16.1+1.7.1" +version = "0.16.2+1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c" +checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" dependencies = [ "cc", "libc", @@ -697,16 +686,6 @@ ] [[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] name = "number_prefix" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -759,9 +738,9 @@ [[package]] name = "palette" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e2f34147767aa758aa649415b50a69eeb46a67f9dc7db8011eeb3d84b351dc" +checksum = "3d38e6e5ca1612e2081cc31188f08c3cba630ce4ba44709a153f1a0f38d678f2" dependencies = [ "approx", "fast-srgb8", @@ -770,9 +749,9 @@ [[package]] name = "palette_derive" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a" +checksum = "e05d1c929301fee6830dafa764341118829b2535c216b0571e3821ecac5c885b" dependencies = [ "proc-macro2", "quote", @@ -942,9 +921,9 @@ [[package]] name = "rayon" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" dependencies = [ "either", "rayon-core", @@ -952,14 +931,12 @@ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -1041,12 +1018,6 @@ ] [[package]] -name = "scoped_threadpool" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8" - -[[package]] name = "scopeguard" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1085,18 +1056,18 @@ [[package]] name = "serde_spanned" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] [[package]] name = "shlex" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "similar" @@ -1112,9 +1083,9 @@ [[package]] name = "snapbox" -version = "0.4.14" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b377c0b6e4715c116473d8e40d51e3fa5b0a2297ca9b2a931ba800667b259ed" +checksum = "73145a30df4935f50a7b13c1882bce7d194d7071ad0bcc36e7cacbf9ef16e3ec" dependencies = [ "anstream", "anstyle", @@ -1129,14 +1100,14 @@ "tempfile", "wait-timeout", "walkdir", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "snapbox-macros" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed1559baff8a696add3322b9be3e940d433e7bb4e38d79017205fd37ff28b28e" +checksum = "78ccde059aad940984ff696fe8c280900f7ea71a6fb45fce65071a3f2c40b667" dependencies = [ "anstream", ] @@ -1257,18 +1228,18 @@ [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca676d9ba1a322c1b64eb8045a5ec5c0cfb0c9d08e15e9ff622589ad5221c8fe" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" dependencies = [ "indexmap", "serde", @@ -1279,9 +1250,9 @@ [[package]] name = "trycmd" -version = "0.14.19" +version = "0.14.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed009372a42fb103e6f8767b9222925485e03cca032b700d203e2c5b67bee4fb" +checksum = "b7ad3a033f38ca4d9eedf36ba792622027119c61b62b57970c5bed42cfd0c40d" dependencies = [ "glob", "humantime", diff -Nru rust-eza-0.17.2/Cargo.toml rust-eza-0.18.2/Cargo.toml --- rust-eza-0.17.2/Cargo.toml 1970-01-01 00:00:01.000000000 +0000 +++ rust-eza-0.18.2/Cargo.toml 1970-01-01 00:00:01.000000000 +0000 @@ -13,7 +13,7 @@ edition = "2021" rust-version = "1.70.0" name = "eza" -version = "0.17.2" +version = "0.18.2" authors = ["Christina Sørensen "] exclude = [ "/devtools/*", @@ -97,7 +97,7 @@ features = ["ansi_colours"] [dependencies.chrono] -version = "0.4.31" +version = "0.4.33" features = ["clock"] default-features = false @@ -121,9 +121,6 @@ [dependencies.natord] version = "1.0" -[dependencies.num_cpus] -version = "1.16" - [dependencies.number_prefix] version = "0.4" @@ -131,7 +128,7 @@ version = "1.19.0" [dependencies.palette] -version = "0.7.3" +version = "0.7.4" features = ["std"] default-features = false @@ -146,8 +143,8 @@ version = "1.6.0" default-features = false -[dependencies.scoped_threadpool] -version = "0.1" +[dependencies.rayon] +version = "1.8.1" [dependencies.terminal_size] version = "0.3.0" @@ -173,7 +170,7 @@ version = "0.14" [build-dependencies.chrono] -version = "0.4.31" +version = "0.4.33" features = ["clock"] default-features = false diff -Nru rust-eza-0.17.2/Cargo.toml.orig rust-eza-0.18.2/Cargo.toml.orig --- rust-eza-0.17.2/Cargo.toml.orig 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/Cargo.toml.orig 2006-07-24 01:21:28.000000000 +0000 @@ -16,7 +16,7 @@ homepage = "https://github.com/eza-community/eza" license = "MIT" repository = "https://github.com/eza-community/eza" -version = "0.17.2" +version = "0.18.2" [package.metadata.deb] @@ -72,25 +72,24 @@ [dependencies] ansiterm = { version = "0.12.2", features = ["ansi_colours"] } -chrono = { version = "0.4.31", default-features = false, features = ["clock"] } +chrono = { version = "0.4.33", default-features = false, features = ["clock"] } glob = "0.3" libc = "0.2" locale = "0.2" log = "0.4" natord = "1.0" -num_cpus = "1.16" number_prefix = "0.4" -palette = { version = "0.7.3", default-features = false, features = ["std"] } +palette = { version = "0.7.4", default-features = false, features = ["std"] } once_cell = "1.19.0" percent-encoding = "2.3.1" phf = { version = "0.11.2", features = ["macros"] } plist = { version = "1.6.0", default-features = false } -scoped_threadpool = "0.1" uutils_term_grid = "0.3" terminal_size = "0.3.0" timeago = { version = "0.4.2", default-features = false } unicode-width = "0.1" zoneinfo_compiled = "0.5.1" +rayon = "1.8.1" [dependencies.git2] version = "0.18" @@ -110,7 +109,7 @@ ] } [build-dependencies] -chrono = { version = "0.4.31", default-features = false, features = ["clock"] } +chrono = { version = "0.4.33", default-features = false, features = ["clock"] } [dev-dependencies] criterion = { version = "0.5.1", features = ["html_reports"] } diff -Nru rust-eza-0.17.2/INSTALL.md rust-eza-0.18.2/INSTALL.md --- rust-eza-0.17.2/INSTALL.md 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/INSTALL.md 2006-07-24 01:21:28.000000000 +0000 @@ -132,6 +132,23 @@ pkg install eza ``` +### Manual (Linux) + +Example is for x86_64 GNU, replaces the file names if downloading for a different arch. + +```shell +wget -c https://github.com/eza-community/eza/releases/latest/download/eza_x86_64-unknown-linux-gnu.tar.gz -O - | tar xz +sudo chmod +x eza +sudo chown root:root eza +sudo mv eza /usr/local/bin/eza +``` + +If `exa` was install before, replace it will `eza`: +```shell +sudo rm -f /usr/local/bin/exa +sudo ln -s /usr/local/bin/eza /usr/local/bin/exa +``` + ### Brew (MacOS) [![Homebrew package](https://repology.org/badge/version-for-repo/homebrew/eza.svg)](https://repology.org/project/eza/versions) diff -Nru rust-eza-0.17.2/README.md rust-eza-0.18.2/README.md --- rust-eza-0.17.2/README.md 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/README.md 2006-07-24 01:21:28.000000000 +0000 @@ -88,7 +88,7 @@ - **-R**, **--recurse**: recurse into directories - **-T**, **--tree**: recurse into directories as a tree - **-x**, **--across**: sort the grid across, rather than downwards -- **-F**, **--classify**: display type indicator by file names +- **-F**, **--classify=(when)**: display type indicator by file names (always, auto, never) - **--colo[u]r=(when)**: when to use terminal colours (always, auto, never) - **--colo[u]r-scale=(field)**: highlight levels of `field` distinctly(all, age, size) - **--color-scale-mode=(mode)**: use gradient or fixed colors in --color-scale. valid options are `fixed` or `gradient` diff -Nru rust-eza-0.17.2/completions/zsh/_eza rust-eza-0.18.2/completions/zsh/_eza --- rust-eza-0.17.2/completions/zsh/_eza 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/completions/zsh/_eza 2006-07-24 01:21:28.000000000 +0000 @@ -19,7 +19,7 @@ {-R,--recurse}"[Recurse into directories]" \ {-T,--tree}"[Recurse into directories as a tree]" \ {-X,--dereference}"[Dereference symbolic links when displaying information]" \ - {-F,--classify}"[Display type indicator by file names]" \ + {-F,--classify}"[Display type indicator by file names]:(when):(always auto automatic never)" \ --colo{,u}r="[When to use terminal colours]:(when):(always auto automatic never)" \ --colo{,u}r-scale"[highlight levels of 'field' distinctly]:(fields):(all age size)" \ --colo{,u}r-scale-mode"[Use gradient or fixed colors in --color-scale]:(mode):(fixed gradient)" \ diff -Nru rust-eza-0.17.2/debian/changelog rust-eza-0.18.2/debian/changelog --- rust-eza-0.17.2/debian/changelog 2024-01-25 10:52:10.000000000 +0000 +++ rust-eza-0.18.2/debian/changelog 2024-02-13 21:29:59.000000000 +0000 @@ -1,3 +1,9 @@ +rust-eza (0.18.2-1) unstable; urgency=medium + + * Package eza 0.18.2 from crates.io using debcargo 2.6.1 + + -- Sylvestre Ledru Tue, 13 Feb 2024 22:29:59 +0100 + rust-eza (0.17.2-1) unstable; urgency=medium * Package eza 0.17.2 from crates.io using debcargo 2.6.1 diff -Nru rust-eza-0.17.2/debian/control rust-eza-0.18.2/debian/control --- rust-eza-0.17.2/debian/control 2024-01-25 10:52:10.000000000 +0000 +++ rust-eza-0.18.2/debian/control 2024-02-13 21:29:59.000000000 +0000 @@ -8,23 +8,22 @@ libstd-rust-dev, librust-ansiterm-0.12+ansi-colours-dev (>= 0.12.2-~~), librust-ansiterm-0.12+default-dev (>= 0.12.2-~~), - librust-chrono-0.4+clock-dev (>= 0.4.31-~~), + librust-chrono-0.4+clock-dev, librust-git2-0.18-dev | librust-git2-0.17-dev | librust-git2-0.16-dev | librust-git2-0.15-dev | librust-git2-0.14-dev | librust-git2-0.13-dev, librust-glob-0.3+default-dev, librust-libc-0.2+default-dev, librust-locale-0.2+default-dev, librust-log-0.4+default-dev, librust-natord-1+default-dev, - librust-num-cpus-1+default-dev (>= 1.16-~~), librust-number-prefix-0.4+default-dev, librust-once-cell-1+default-dev, - librust-palette-0.7+std-dev (>= 0.7.3-~~), + librust-palette-0.7+std-dev (>= 0.7.4-~~), librust-percent-encoding-2+default-dev (>= 2.3.1-~~), librust-phf-0.11+default-dev (>= 0.11.2-~~), librust-phf-0.11+macros-dev (>= 0.11.2-~~), librust-plist-1-dev (>= 1.6.0-~~), librust-proc-mounts-0.3+default-dev, - librust-scoped-threadpool-0.1+default-dev, + librust-rayon-1+default-dev (>= 1.8.1-~~), librust-terminal-size-0+default-dev, librust-timeago-0.4-dev, librust-unicode-width-0.1+default-dev, @@ -52,23 +51,22 @@ ${misc:Depends}, librust-ansiterm-0.12+ansi-colours-dev (>= 0.12.2-~~), librust-ansiterm-0.12+default-dev (>= 0.12.2-~~), - librust-chrono-0.4+clock-dev (>= 0.4.31-~~), + librust-chrono-0.4+clock-dev, librust-git2-0.18-dev | librust-git2-0.17-dev | librust-git2-0.16-dev | librust-git2-0.15-dev | librust-git2-0.14-dev | librust-git2-0.13-dev, librust-glob-0.3+default-dev, librust-libc-0.2+default-dev, librust-locale-0.2+default-dev, librust-log-0.4+default-dev, librust-natord-1+default-dev, - librust-num-cpus-1+default-dev (>= 1.16-~~), librust-number-prefix-0.4+default-dev, librust-once-cell-1+default-dev, - librust-palette-0.7+std-dev (>= 0.7.3-~~), + librust-palette-0.7+std-dev (>= 0.7.4-~~), librust-percent-encoding-2+default-dev (>= 2.3.1-~~), librust-phf-0.11+default-dev (>= 0.11.2-~~), librust-phf-0.11+macros-dev (>= 0.11.2-~~), librust-plist-1-dev (>= 1.6.0-~~), librust-proc-mounts-0.3+default-dev, - librust-scoped-threadpool-0.1+default-dev, + librust-rayon-1+default-dev (>= 1.8.1-~~), librust-terminal-size-0+default-dev, librust-timeago-0.4-dev, librust-unicode-width-0.1+default-dev, @@ -91,22 +89,22 @@ librust-eza-0+nix-generated-dev (= ${binary:Version}), librust-eza-0+nix-local-dev (= ${binary:Version}), librust-eza-0+powertest-dev (= ${binary:Version}), - librust-eza-0.17-dev (= ${binary:Version}), - librust-eza-0.17+default-dev (= ${binary:Version}), - librust-eza-0.17+git-dev (= ${binary:Version}), - librust-eza-0.17+git2-dev (= ${binary:Version}), - librust-eza-0.17+nix-dev (= ${binary:Version}), - librust-eza-0.17+nix-generated-dev (= ${binary:Version}), - librust-eza-0.17+nix-local-dev (= ${binary:Version}), - librust-eza-0.17+powertest-dev (= ${binary:Version}), - librust-eza-0.17.2-dev (= ${binary:Version}), - librust-eza-0.17.2+default-dev (= ${binary:Version}), - librust-eza-0.17.2+git-dev (= ${binary:Version}), - librust-eza-0.17.2+git2-dev (= ${binary:Version}), - librust-eza-0.17.2+nix-dev (= ${binary:Version}), - librust-eza-0.17.2+nix-generated-dev (= ${binary:Version}), - librust-eza-0.17.2+nix-local-dev (= ${binary:Version}), - librust-eza-0.17.2+powertest-dev (= ${binary:Version}) + librust-eza-0.18-dev (= ${binary:Version}), + librust-eza-0.18+default-dev (= ${binary:Version}), + librust-eza-0.18+git-dev (= ${binary:Version}), + librust-eza-0.18+git2-dev (= ${binary:Version}), + librust-eza-0.18+nix-dev (= ${binary:Version}), + librust-eza-0.18+nix-generated-dev (= ${binary:Version}), + librust-eza-0.18+nix-local-dev (= ${binary:Version}), + librust-eza-0.18+powertest-dev (= ${binary:Version}), + librust-eza-0.18.2-dev (= ${binary:Version}), + librust-eza-0.18.2+default-dev (= ${binary:Version}), + librust-eza-0.18.2+git-dev (= ${binary:Version}), + librust-eza-0.18.2+git2-dev (= ${binary:Version}), + librust-eza-0.18.2+nix-dev (= ${binary:Version}), + librust-eza-0.18.2+nix-generated-dev (= ${binary:Version}), + librust-eza-0.18.2+nix-local-dev (= ${binary:Version}), + librust-eza-0.18.2+powertest-dev (= ${binary:Version}) Description: Modern replacement for ls - Rust source code Source code for Debianized Rust crate "eza" diff -Nru rust-eza-0.17.2/debian/patches/bump-git2.diff rust-eza-0.18.2/debian/patches/bump-git2.diff --- rust-eza-0.17.2/debian/patches/bump-git2.diff 2024-01-25 10:52:10.000000000 +0000 +++ rust-eza-0.18.2/debian/patches/bump-git2.diff 2024-02-13 21:29:59.000000000 +0000 @@ -2,7 +2,7 @@ =================================================================== --- eza.orig/Cargo.toml +++ eza/Cargo.toml -@@ -103,7 +103,7 @@ features = ["clock"] +@@ -102,7 +102,7 @@ features = ["clock"] default-features = false [dependencies.git2] diff -Nru rust-eza-0.17.2/debian/patches/relax-chrono.diff rust-eza-0.18.2/debian/patches/relax-chrono.diff --- rust-eza-0.17.2/debian/patches/relax-chrono.diff 1970-01-01 00:00:00.000000000 +0000 +++ rust-eza-0.18.2/debian/patches/relax-chrono.diff 2024-02-13 21:29:59.000000000 +0000 @@ -0,0 +1,22 @@ +Index: eza/Cargo.toml +=================================================================== +--- eza.orig/Cargo.toml ++++ eza/Cargo.toml +@@ -97,7 +97,7 @@ version = "0.12.2" + features = ["ansi_colours"] + + [dependencies.chrono] +-version = "0.4.33" ++version = "0.4" + features = ["clock"] + default-features = false + +@@ -170,7 +170,7 @@ features = ["html_reports"] + version = "0.14" + + [build-dependencies.chrono] +-version = "0.4.33" ++version = "0.4" + features = ["clock"] + default-features = false + diff -Nru rust-eza-0.17.2/debian/patches/relax-once-cell.diff rust-eza-0.18.2/debian/patches/relax-once-cell.diff --- rust-eza-0.17.2/debian/patches/relax-once-cell.diff 2024-01-25 10:52:10.000000000 +0000 +++ rust-eza-0.18.2/debian/patches/relax-once-cell.diff 2024-02-13 21:29:59.000000000 +0000 @@ -2,7 +2,7 @@ =================================================================== --- eza.orig/Cargo.toml +++ eza/Cargo.toml -@@ -128,7 +128,7 @@ version = "1.16" +@@ -125,7 +125,7 @@ version = "1.0" version = "0.4" [dependencies.once_cell] @@ -10,4 +10,4 @@ +version = "1" [dependencies.palette] - version = "0.7.3" + version = "0.7.4" diff -Nru rust-eza-0.17.2/debian/patches/series rust-eza-0.18.2/debian/patches/series --- rust-eza-0.17.2/debian/patches/series 2024-01-25 10:52:10.000000000 +0000 +++ rust-eza-0.18.2/debian/patches/series 2024-02-13 21:29:59.000000000 +0000 @@ -4,3 +4,4 @@ disable-windows.diff disable-vendored-libgit2.diff relax-once-cell.diff +relax-chrono.diff diff -Nru rust-eza-0.17.2/debian/tests/control rust-eza-0.18.2/debian/tests/control --- rust-eza-0.17.2/debian/tests/control 2024-01-25 10:52:10.000000000 +0000 +++ rust-eza-0.18.2/debian/tests/control 2024-02-13 21:29:59.000000000 +0000 @@ -1,44 +1,44 @@ -Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.17.2 --all-targets --all-features +Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.18.2 --all-targets --all-features Features: test-name=rust-eza:@ Depends: dh-cargo (>= 18), librust-criterion-0.5+default-dev (>= 0.5.1-~~), librust-criterion-0.5+html-reports-dev (>= 0.5.1-~~), librust-trycmd-0.14+default-dev, @ Restrictions: allow-stderr, skip-not-installable, flaky -Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.17.2 --all-targets +Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.18.2 --all-targets Features: test-name=librust-eza-dev:default Depends: dh-cargo (>= 18), librust-criterion-0.5+default-dev (>= 0.5.1-~~), librust-criterion-0.5+html-reports-dev (>= 0.5.1-~~), librust-trycmd-0.14+default-dev, @ Restrictions: allow-stderr, skip-not-installable, flaky -Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.17.2 --all-targets --no-default-features --features git +Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.18.2 --all-targets --no-default-features --features git Features: test-name=librust-eza-dev:git Depends: dh-cargo (>= 18), librust-criterion-0.5+default-dev (>= 0.5.1-~~), librust-criterion-0.5+html-reports-dev (>= 0.5.1-~~), librust-trycmd-0.14+default-dev, @ Restrictions: allow-stderr, skip-not-installable, flaky -Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.17.2 --all-targets --no-default-features --features git2 +Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.18.2 --all-targets --no-default-features --features git2 Features: test-name=librust-eza-dev:git2 Depends: dh-cargo (>= 18), librust-criterion-0.5+default-dev (>= 0.5.1-~~), librust-criterion-0.5+html-reports-dev (>= 0.5.1-~~), librust-trycmd-0.14+default-dev, @ Restrictions: allow-stderr, skip-not-installable, flaky -Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.17.2 --all-targets --no-default-features --features nix +Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.18.2 --all-targets --no-default-features --features nix Features: test-name=librust-eza-dev:nix Depends: dh-cargo (>= 18), librust-criterion-0.5+default-dev (>= 0.5.1-~~), librust-criterion-0.5+html-reports-dev (>= 0.5.1-~~), librust-trycmd-0.14+default-dev, @ Restrictions: allow-stderr, skip-not-installable, flaky -Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.17.2 --all-targets --no-default-features --features nix-generated +Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.18.2 --all-targets --no-default-features --features nix-generated Features: test-name=librust-eza-dev:nix-generated Depends: dh-cargo (>= 18), librust-criterion-0.5+default-dev (>= 0.5.1-~~), librust-criterion-0.5+html-reports-dev (>= 0.5.1-~~), librust-trycmd-0.14+default-dev, @ Restrictions: allow-stderr, skip-not-installable, flaky -Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.17.2 --all-targets --no-default-features --features nix-local +Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.18.2 --all-targets --no-default-features --features nix-local Features: test-name=librust-eza-dev:nix-local Depends: dh-cargo (>= 18), librust-criterion-0.5+default-dev (>= 0.5.1-~~), librust-criterion-0.5+html-reports-dev (>= 0.5.1-~~), librust-trycmd-0.14+default-dev, @ Restrictions: allow-stderr, skip-not-installable, flaky -Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.17.2 --all-targets --no-default-features --features powertest +Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.18.2 --all-targets --no-default-features --features powertest Features: test-name=librust-eza-dev:powertest Depends: dh-cargo (>= 18), librust-criterion-0.5+default-dev (>= 0.5.1-~~), librust-criterion-0.5+html-reports-dev (>= 0.5.1-~~), librust-trycmd-0.14+default-dev, @ Restrictions: allow-stderr, skip-not-installable, flaky -Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.17.2 --all-targets --no-default-features +Test-Command: /usr/share/cargo/bin/cargo-auto-test eza 0.18.2 --all-targets --no-default-features Features: test-name=librust-eza-dev: Depends: dh-cargo (>= 18), librust-criterion-0.5+default-dev (>= 0.5.1-~~), librust-criterion-0.5+html-reports-dev (>= 0.5.1-~~), librust-trycmd-0.14+default-dev, @ Restrictions: allow-stderr, skip-not-installable, flaky diff -Nru rust-eza-0.17.2/flake.lock rust-eza-0.18.2/flake.lock --- rust-eza-0.17.2/flake.lock 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/flake.lock 2006-07-24 01:21:28.000000000 +0000 @@ -3,11 +3,11 @@ "advisory-db": { "flake": false, "locked": { - "lastModified": 1702116332, - "narHash": "sha256-Qzx1cRU8QnCmbEp0LJFoEzm7tetiNTc+wRTJTzPo2ko=", + "lastModified": 1706115649, + "narHash": "sha256-Qrqb54qGaRsFdLDj8EJtI5leFGFfqWHLRgC+t6KWlpQ=", "owner": "rustsec", "repo": "advisory-db", - "rev": "6ef1d1fd84c57e46253ff16bf7379c115e1062eb", + "rev": "1d2202ea2b32fabd3307641010301bfe187ef11a", "type": "github" }, "original": { @@ -39,12 +39,15 @@ "locked": { "lastModified": 1701680307, "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "type": "tarball", - "url": "http://rime.cx/v1/github/semnix/flake-utils.tar.gz" + "owner": "semnix", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" }, "original": { - "type": "tarball", - "url": "http://rime.cx/v1/github/semnix/flake-utils.tar.gz" + "owner": "semnix", + "repo": "flake-utils", + "type": "github" } }, "flake-utils_2": { @@ -113,24 +116,31 @@ "locked": { "lastModified": 1698420672, "narHash": "sha256-/TdeHMPRjjdJub7p7+w55vyABrsJlt5QkznPYy55vKA=", - "type": "tarball", - "url": "http://rime.cx/v1/github/semnix/naersk.tar.gz" + "owner": "semnix", + "repo": "naersk", + "rev": "aeb58d5e8faead8980a807c840232697982d47b9", + "type": "github" }, "original": { - "type": "tarball", - "url": "http://rime.cx/v1/github/semnix/naersk.tar.gz" + "owner": "semnix", + "repo": "naersk", + "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1701693815, - "narHash": "sha256-7BkrXykVWfkn6+c1EhFA3ko4MLi3gVG0p9G96PNnKTM=", - "type": "tarball", - "url": "http:/rime.cx/v1/github/NixOS/nixpkgs/b/nixpkgs-unstable.tar.gz" + "lastModified": 1706173671, + "narHash": "sha256-lciR7kQUK2FCAYuszyd7zyRRmTaXVeoZsCyK6QFpGdk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4fddc9be4eaf195d631333908f2a454b03628ee5", + "type": "github" }, "original": { - "type": "tarball", - "url": "http:/rime.cx/v1/github/NixOS/nixpkgs/b/nixpkgs-unstable.tar.gz" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-stable": { @@ -168,12 +178,15 @@ "locked": { "lastModified": 1700124898, "narHash": "sha256-+5jKG/KmYOopvHwBAGu5iPVFqoug16Bkyk/InwB40tc=", - "type": "tarball", - "url": "http://rime.cx/v1/github/eza-community/powertest.tar.gz" + "owner": "eza-community", + "repo": "powertest", + "rev": "c7b7d3038036d24dd5c77286e69a3d4b119bae81", + "type": "github" }, "original": { - "type": "tarball", - "url": "http://rime.cx/v1/github/eza-community/powertest.tar.gz" + "owner": "eza-community", + "repo": "powertest", + "type": "github" } }, "pre-commit-hooks": { @@ -191,12 +204,15 @@ "locked": { "lastModified": 1700922917, "narHash": "sha256-ej2fch/T584b5K9sk1UhmZF7W6wEfDHuoUYpFN8dtvM=", - "type": "tarball", - "url": "http://rime.cx/v1/github/semnix/pre-commit-hooks.nix.tar.gz" + "owner": "semnix", + "repo": "pre-commit-hooks.nix", + "rev": "e5ee5c5f3844550c01d2131096c7271cec5e9b78", + "type": "github" }, "original": { - "type": "tarball", - "url": "http://rime.cx/v1/github/semnix/pre-commit-hooks.nix.tar.gz" + "owner": "semnix", + "repo": "pre-commit-hooks.nix", + "type": "github" } }, "root": { @@ -221,12 +237,15 @@ "locked": { "lastModified": 1702088052, "narHash": "sha256-FkwIBTAMsxyceQce0Mbm+/+cOjj2r5IHBK4R/ekPNaw=", - "type": "tarball", - "url": "http://rime.cx/v1/github/semnix/rust-overlay.tar.gz" + "owner": "semnix", + "repo": "rust-overlay", + "rev": "2cfb76b8e836a26efecd9f853bea78355a11c58a", + "type": "github" }, "original": { - "type": "tarball", - "url": "http://rime.cx/v1/github/semnix/rust-overlay.tar.gz" + "owner": "semnix", + "repo": "rust-overlay", + "type": "github" } }, "systems": { @@ -283,12 +302,15 @@ "locked": { "lastModified": 1701958734, "narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=", - "type": "tarball", - "url": "http://rime.cx/v1/github/semnix/treefmt-nix.tar.gz" + "owner": "semnix", + "repo": "treefmt-nix", + "rev": "e8cea581dd2b7c9998c1e6662db2c1dc30e7fdb0", + "type": "github" }, "original": { - "type": "tarball", - "url": "http://rime.cx/v1/github/semnix/treefmt-nix.tar.gz" + "owner": "semnix", + "repo": "treefmt-nix", + "type": "github" } } }, diff -Nru rust-eza-0.17.2/flake.nix rust-eza-0.18.2/flake.nix --- rust-eza-0.17.2/flake.nix 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/flake.nix 2006-07-24 01:21:28.000000000 +0000 @@ -2,29 +2,29 @@ description = "eza: a modern, maintained replacement for ls"; inputs = { - nixpkgs.url = "http:/rime.cx/v1/github/NixOS/nixpkgs/b/nixpkgs-unstable.tar.gz"; + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils = { - url = "http://rime.cx/v1/github/semnix/flake-utils.tar.gz"; + url = "github:semnix/flake-utils"; }; naersk = { - url = "http://rime.cx/v1/github/semnix/naersk.tar.gz"; + url = "github:semnix/naersk"; inputs.nixpkgs.follows = "nixpkgs"; }; rust-overlay = { - url = "http://rime.cx/v1/github/semnix/rust-overlay.tar.gz"; + url = "github:semnix/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; treefmt-nix = { - url = "http://rime.cx/v1/github/semnix/treefmt-nix.tar.gz"; + url = "github:semnix/treefmt-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; powertest = { - url = "http://rime.cx/v1/github/eza-community/powertest.tar.gz"; + url = "github:eza-community/powertest"; inputs = { nixpkgs.follows = "nixpkgs"; naersk.follows = "naersk"; @@ -34,7 +34,7 @@ }; pre-commit-hooks = { - url = "http://rime.cx/v1/github/semnix/pre-commit-hooks.nix.tar.gz"; + url = "github:semnix/pre-commit-hooks.nix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; diff -Nru rust-eza-0.17.2/man/eza.1.md rust-eza-0.18.2/man/eza.1.md --- rust-eza-0.17.2/man/eza.1.md 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/man/eza.1.md 2006-07-24 01:21:28.000000000 +0000 @@ -54,9 +54,14 @@ `-1`, `--oneline` : Display one entry per line. -`-F`, `--classify` +`-F`, `--classify=WHEN` : Display file kind indicators next to file names. +Valid settings are ‘`always`’, ‘`automatic`’ (or ‘`auto`’ for short), and ‘`never`’. +The default value is ‘`automatic`’. + +The default behavior (`automatic` or `auto`) will display file kind indicators only when the standard output is connected to a real terminal. If `eza` is ran while in a `tty`, or the output of `eza` is either redirected to a file or piped into another program, file kind indicators will not be used. Setting this option to ‘`always`’ causes `eza` to always display file kind indicators, while ‘`never`’ disables the use of file kind indicators. + `-G`, `--grid` : Display entries as a grid (default). diff -Nru rust-eza-0.17.2/powertest.yaml rust-eza-0.18.2/powertest.yaml --- rust-eza-0.17.2/powertest.yaml 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/powertest.yaml 2006-07-24 01:21:28.000000000 +0000 @@ -36,6 +36,12 @@ ? - -F - --classify : + ? - -F + - --classify + : values: + - auto + - always + - never ? - null - --color : values: diff -Nru rust-eza-0.17.2/rustfmt.toml rust-eza-0.18.2/rustfmt.toml --- rust-eza-0.17.2/rustfmt.toml 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/rustfmt.toml 2006-07-24 01:21:28.000000000 +0000 @@ -1 +1 @@ -ignore = ['src/options/flags.rs'] + diff -Nru rust-eza-0.17.2/src/main.rs rust-eza-0.18.2/src/main.rs --- rust-eza-0.17.2/src/main.rs 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/src/main.rs 2006-07-24 01:21:28.000000000 +0000 @@ -204,8 +204,7 @@ vec![path] } Ok(d) => d - .filter(std::result::Result::is_ok) - .map(|entry| entry.unwrap().path()) + .filter_map(|entry| entry.ok().map(|e| e.path())) .collect::>(), } } else { diff -Nru rust-eza-0.17.2/src/options/file_name.rs rust-eza-0.18.2/src/options/file_name.rs --- rust-eza-0.17.2/src/options/file_name.rs 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/src/options/file_name.rs 2006-07-24 01:21:28.000000000 +0000 @@ -28,12 +28,17 @@ impl Classify { fn deduce(matches: &MatchedFlags<'_>) -> Result { - let flagged = matches.has(&flags::CLASSIFY)?; + let mode_opt = matches.get(&flags::CLASSIFY)?; - if flagged { - Ok(Self::AddFileIndicators) - } else { - Ok(Self::JustFilenames) + match mode_opt { + Some(word) => match word.to_str() { + Some("always") => Ok(Self::AddFileIndicators), + Some("auto" | "automatic") => Ok(Self::AutomaticAddFileIndicators), + Some("never") => Ok(Self::JustFilenames), + _ => Err(OptionsError::BadArgument(&flags::CLASSIFY, word.into())), + }, + // No flag given, default to just filenames + None => Ok(Self::JustFilenames), } } } diff -Nru rust-eza-0.17.2/src/options/flags.rs rust-eza-0.18.2/src/options/flags.rs --- rust-eza-0.17.2/src/options/flags.rs 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/src/options/flags.rs 2006-07-24 01:21:28.000000000 +0000 @@ -11,7 +11,7 @@ pub static ACROSS: Arg = Arg { short: Some(b'x'), long: "across", takes_value: TakesValue::Forbidden }; pub static RECURSE: Arg = Arg { short: Some(b'R'), long: "recurse", takes_value: TakesValue::Forbidden }; pub static TREE: Arg = Arg { short: Some(b'T'), long: "tree", takes_value: TakesValue::Forbidden }; -pub static CLASSIFY: Arg = Arg { short: Some(b'F'), long: "classify", takes_value: TakesValue::Forbidden }; +pub static CLASSIFY: Arg = Arg { short: Some(b'F'), long: "classify", takes_value: TakesValue::Optional(Some(WHEN), "auto") }; pub static DEREF_LINKS: Arg = Arg { short: Some(b'X'), long: "dereference", takes_value: TakesValue::Forbidden }; pub static WIDTH: Arg = Arg { short: Some(b'w'), long: "width", takes_value: TakesValue::Necessary(None) }; pub static NO_QUOTES: Arg = Arg { short: None, long: "no-quotes", takes_value: TakesValue::Forbidden }; diff -Nru rust-eza-0.17.2/src/options/help.rs rust-eza-0.18.2/src/options/help.rs --- rust-eza-0.17.2/src/options/help.rs 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/src/options/help.rs 2006-07-24 01:21:28.000000000 +0000 @@ -19,7 +19,7 @@ -R, --recurse recurse into directories -T, --tree recurse into directories as a tree -X, --dereference dereference symbolic links when displaying information - -F, --classify display type indicator by file names + -F, --classify=WHEN display type indicator by file names (always, auto, never) --colo[u]r=WHEN when to use terminal colours (always, auto, never) --colo[u]r-scale highlight levels of 'field' distinctly(all, age, size) --colo[u]r-scale-mode use gradient or fixed colors in --color-scale (fixed, gradient) diff -Nru rust-eza-0.17.2/src/output/details.rs rust-eza-0.18.2/src/output/details.rs --- rust-eza-0.17.2/src/output/details.rs 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/src/output/details.rs 2006-07-24 01:21:28.000000000 +0000 @@ -60,12 +60,11 @@ //! can be displayed, in order to make sure that every column is wide enough. use std::io::{self, Write}; -use std::mem::MaybeUninit; use std::path::PathBuf; use std::vec::IntoIter as VecIntoIter; use ansiterm::Style; -use scoped_threadpool::Pool; +use rayon::iter::{IntoParallelRefIterator, ParallelIterator}; use log::*; @@ -158,11 +157,6 @@ impl<'a> Render<'a> { pub fn render(mut self, w: &mut W) -> io::Result<()> { - let n_cpus = match num_cpus::get() as u32 { - 0 => 1, - n => n, - }; - let mut pool = Pool::new(n_cpus); let mut rows = Vec::new(); let color_scale_info = ColorScaleInformation::from_color_scale( @@ -201,7 +195,6 @@ // https://internals.rust-lang.org/t/should-option-mut-t-implement-copy/3715/6 let mut table = Some(table); self.add_files_to_table( - &mut pool, &mut table, &mut rows, &self.files, @@ -214,7 +207,6 @@ } } else { self.add_files_to_table( - &mut pool, &mut None, &mut rows, &self.files, @@ -247,7 +239,6 @@ /// parallelisable, and uses a pool of threads. fn add_files_to_table<'dir>( &self, - pool: &mut Pool, table: &mut Option>, rows: &mut Vec, src: &[File<'dir>], @@ -255,83 +246,70 @@ color_scale_info: Option, ) { use crate::fs::feature::xattr; - use std::sync::{Arc, Mutex}; - let mut file_eggs = (0..src.len()) - .map(|_| MaybeUninit::uninit()) - .collect::>(); - - pool.scoped(|scoped| { - let file_eggs = Arc::new(Mutex::new(&mut file_eggs)); - let table = table.as_ref(); - - for (idx, file) in src.iter().enumerate() { - let file_eggs = Arc::clone(&file_eggs); - - scoped.execute(move || { - let mut errors = Vec::new(); - - // There are three “levels” of extended attribute support: - // - // 1. If we’re compiling without that feature, then - // exa pretends all files have no attributes. - // 2. If the feature is enabled and the --extended flag - // has been specified, then display an @ in the - // permissions column for files with attributes, the - // names of all attributes and their values, and any - // errors encountered when getting them. - // 3. If the --extended flag *hasn’t* been specified, then - // display the @, but don’t display anything else. - // - // For a while, exa took a stricter approach to (3): - // if an error occurred while checking a file’s xattrs to - // see if it should display the @, exa would display that - // error even though the attributes weren’t actually being - // shown! This was confusing, as users were being shown - // errors for something they didn’t explicitly ask for, - // and just cluttered up the output. So now errors aren’t - // printed unless the user passes --extended to signify - // that they want to see them. - - let xattrs: &[Attribute] = if xattr::ENABLED && self.opts.xattr { - file.extended_attributes() - } else { - &[] - }; - - let table_row = table.as_ref().map(|t| { - t.row_for_file(file, self.show_xattr_hint(file), color_scale_info) - }); - - let mut dir = None; - if let Some(r) = self.recurse { - if file.is_directory() && r.tree && !r.is_too_deep(depth.0) { - trace!("matching on to_dir"); - match file.to_dir() { - Ok(d) => { - dir = Some(d); - } - Err(e) => { - errors.push((e, None)); - } + let mut file_eggs: Vec<_> = src + .par_iter() + .map(|file| { + let mut errors = Vec::new(); + + // There are three “levels” of extended attribute support: + // + // 1. If we’re compiling without that feature, then + // exa pretends all files have no attributes. + // 2. If the feature is enabled and the --extended flag + // has been specified, then display an @ in the + // permissions column for files with attributes, the + // names of all attributes and their values, and any + // errors encountered when getting them. + // 3. If the --extended flag *hasn’t* been specified, then + // display the @, but don’t display anything else. + // + // For a while, exa took a stricter approach to (3): + // if an error occurred while checking a file’s xattrs to + // see if it should display the @, exa would display that + // error even though the attributes weren’t actually being + // shown! This was confusing, as users were being shown + // errors for something they didn’t explicitly ask for, + // and just cluttered up the output. So now errors aren’t + // printed unless the user passes --extended to signify + // that they want to see them. + + let xattrs: &[Attribute] = if xattr::ENABLED && self.opts.xattr { + file.extended_attributes() + } else { + &[] + }; + + let table_row = table + .as_ref() + .map(|t| t.row_for_file(file, self.show_xattr_hint(file), color_scale_info)); + + let mut dir = None; + if let Some(r) = self.recurse { + if file.is_directory() && r.tree && !r.is_too_deep(depth.0) { + trace!("matching on to_dir"); + match file.to_dir() { + Ok(d) => { + dir = Some(d); + } + Err(e) => { + errors.push((e, None)); } } - }; + } + }; - let egg = Egg { - table_row, - xattrs, - errors, - dir, - file, - }; - unsafe { std::ptr::write(file_eggs.lock().unwrap()[idx].as_mut_ptr(), egg) } - }); - } - }); + Egg { + table_row, + xattrs, + errors, + dir, + file, + } + }) + .collect(); // this is safe because all entries have been initialized above - let mut file_eggs = unsafe { std::mem::transmute::<_, Vec>>(file_eggs) }; self.filter.sort_files(&mut file_eggs); for (tree_params, egg) in depth.iterate_over(file_eggs.into_iter()) { @@ -391,14 +369,7 @@ )); } - self.add_files_to_table( - pool, - table, - rows, - &files, - depth.deeper(), - color_scale_info, - ); + self.add_files_to_table(table, rows, &files, depth.deeper(), color_scale_info); continue; } } diff -Nru rust-eza-0.17.2/src/output/file_name.rs rust-eza-0.18.2/src/output/file_name.rs --- rust-eza-0.17.2/src/output/file_name.rs 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/src/output/file_name.rs 2006-07-24 01:21:28.000000000 +0000 @@ -74,9 +74,12 @@ /// Just display the file names, without any characters. JustFilenames, - /// Add a character after the file name depending on what class of file - /// it is. + /// Always add a character after the file name depending on what class of + /// file it is. AddFileIndicators, + + // Like previous, but only when output is going to a terminal, not otherwise. + AutomaticAddFileIndicators, } impl Default for Classify { @@ -189,6 +192,12 @@ _ => None, }; + let should_add_classify_char = match self.options.classify { + Classify::AddFileIndicators => true, + Classify::AutomaticAddFileIndicators if self.options.is_a_tty => true, + _ => false, + }; + if let Some(spaces_count) = spaces_count_opt { let style = iconify_style(self.style()); let file_icon = icon_for_file(self.file).to_string(); @@ -248,7 +257,7 @@ bits.push(bit); } - if let Classify::AddFileIndicators = self.options.classify { + if should_add_classify_char { if let Some(class) = self.classify_char(target) { bits.push(Style::default().paint(class)); } @@ -274,7 +283,7 @@ // Do nothing — the error gets displayed on the next line } } - } else if let Classify::AddFileIndicators = self.options.classify { + } else if should_add_classify_char { if let Some(class) = self.classify_char(self.file) { bits.push(Style::default().paint(class)); } diff -Nru rust-eza-0.17.2/src/theme/mod.rs rust-eza-0.18.2/src/theme/mod.rs --- rust-eza-0.17.2/src/theme/mod.rs 2006-07-24 01:21:28.000000000 +0000 +++ rust-eza-0.18.2/src/theme/mod.rs 2006-07-24 01:21:28.000000000 +0000 @@ -54,7 +54,6 @@ } impl Options { - #[allow(trivial_casts)] // the `as Box<_>` stuff below warns about this for some reason pub fn to_theme(&self, isatty: bool) -> Theme { if self.use_colours == UseColours::Never || (self.use_colours == UseColours::Automatic && !isatty) @@ -69,12 +68,11 @@ let (exts, use_default_filetypes) = self.definitions.parse_color_vars(&mut ui); // Use between 0 and 2 file name highlighters - #[rustfmt::skip] - let exts = match (exts.is_non_empty(), use_default_filetypes) { - (false, false) => Box::new(NoFileStyle) as Box<_>, - (false, true) => Box::new(FileTypes) as Box<_>, - ( true, false) => Box::new(exts) as Box<_>, - ( true, true) => Box::new((exts, FileTypes)) as Box<_>, + let exts: Box = match (exts.is_non_empty(), use_default_filetypes) { + (false, false) => Box::new(NoFileStyle), + (false, true) => Box::new(FileTypes), + (true, false) => Box::new(exts), + (true, true) => Box::new((exts, FileTypes)), }; Theme { ui, exts }