feat: --json format, ResourceFork decoding, mount root path, directory theme styling, and Icon\r (eza#1898, #1541, #1463, #1806, #1824) - #7
Merged
Conversation
…community#1898) Port upstream eza-community#1898: Add --json CLI flag to produce machine-readable structured JSON output in both short list and detailed metadata table formats. Supports single directories, multiple directories, mixed files/directories, and hierarchical directory trees with --recurse. Upstream: eza-community#1898
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR ports and hardens structured output formats, extended attributes decoding, and UI theme customizations from eza-community/eza into
lsr. Each item is committed as its own granular, atomic commit:e05a414a):feat(output): add --json structured JSON output format(ported from eza-community/eza#1898)--jsonoutput flag to emit machine-readable JSON records containing complete file metadata, permissions, sizes, Git status, and timestamps.cd67184b):feat(xattr): decode com.apple.ResourceFork extended attributes on macOS(ported from eza-community/eza#1541 and eza-community/eza#771)com.apple.ResourceForkextended attributes on macOS to display resource types and counts in-@/--extendedview.6ea538af):feat(mounts): display mount root path alongside mount info(ported from eza-community/eza#1463)--mounts/-Moutput.0d2219a0):feat(theme): support directorynames styling in theme.yml(ported from eza-community/eza#1806)directorynamesmapping support intheme.ymlto allow customizing folder colors and styles by name.8f9d7a18):feat(icons): add Apple icon for macOS Icon\r files(ported from eza-community/eza#1824 and eza-community/eza#1831)Icon\rfolder custom icons and modern desktop configurations.Documentation & Man Pages
README.md,man/lsr.1.md, andman/eza.1.mddocumenting--jsonschema and theme configuration.How Has This Been Tested?
cargo test --all-targets(528 tests passing with unit and edge case tests).cargo clippy --all-targets --all-features(0 warnings).cargo fmt --check/nix fmt(clean).reuse lint(100% compliant with REUSE v3.3).