Repository: ouch-org/ouch (language: rust)

Issue:
Clarify that .sz refers to Google's Snappy format
It needs to be disambiguated from the unfortunately named [SZ compression](https://szcompressor.org/).

You could just call it `.sz (Snappy)` in the README and the help text. Optionally, you can also link to https://github.com/google/snappy, but I don't think it's necessary.

I stumbled upon this since I became curious about what `.sz` meant, and it took me a surprising amount of time to figure it out.



Discussion / hints:

Fix patch:
diff --git a/README.md b/README.md
index 64fa6bd59..c96909d8b 100644
--- a/README.md
+++ b/README.md
@@ -111,25 +111,26 @@ Output:
 
 # Supported formats
 
-| Format    | `.tar` | `.zip` | `.gz` | `.xz`, `.lzma` | `.bz`, `.bz2` | `.lz4` | `.sz` | `.zst` |
-|:---------:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| Supported | ✓ | ✓¹ | ✓² | ✓ | ✓ | ✓ | ✓² | ✓ |
+| Format    | `.tar` | `.zip` | `7z` | `.gz` | `.xz`, `.lzma` | `.bz`, `.bz2` | `.lz4` | `.sz` (Snappy) | `.zst` | `.rar` |
+|:---------:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
+| Supported | ✓ | ✓¹ | ✓¹ | ✓² | ✓ | ✓ | ✓ | ✓² | ✓ | ✓³ |
 
 ✓: Supports compression and decompression.
 
-✓¹: Due to limitations of `.zip`, it doesn't support streaming (de)compression.
+✓¹: Due to limitations of the compression format itself, (de)compression can't be done with streaming.
 
 ✓²: Supported, and compression runs in parallel.
 
+✓³: Due to Rar's restrictive license, only decompression and listing can be supported.
+
 `tar` aliases are also supported: `tgz`, `tbz`, `tbz2`, `tlz4`, `txz`, `tlzma`, `tsz`, `tzst`.
 
 Formats can be chained:
 
-- `.zst.gz`
-- `.tar.gz.gz`
-- `.tar.gz.gz.gz.zst.xz.bz.lz4`
+- `.tar.gz`
+- `.tar.gz.xz.zst.gz.lz4.sz`
 
-If the filename has no extensions, `Ouch` will try to infer the format by the [file signature](https://en.wikipedia.org/wiki/List_of_file_signatures).
+If the filename has no extensions, `Ouch` will try to infer the format by the [file signature](https://en.wikipedia.org/wiki/List_of_file_signatures) and ask the user for confirmation.
 
 # Installation
 
diff --git a/src/cli/args.rs b/src/cli/args.rs
index 3a6c32dae..85712a48d 100644
--- a/src/cli/args.rs
+++ b/src/cli/args.rs
@@ -5,7 +5,7 @@ use clap::{Parser, ValueHint};
 // Ouch command line options (docstrings below are part of --help)
 /// A command-line utility for easily compressing and decompressing files and directories.
 ///
-/// Supported formats: tar, zip, gz, xz/lzma, bz/bz2, lz4, sz, zst.
+/// Supported formats: tar, zip, gz, 7z, xz/lzma, bz/bz2, lz4, sz (Snappy), zst and rar.
 ///
 /// Repository: https://github.com/ouch-org/ouch
 #[derive(Parser, Debug, PartialEq)]


Test patch:
diff --git a/tests/snapshots/ui__ui_test_usage_help_flag.snap b/tests/snapshots/ui__ui_test_usage_help_flag.snap
index 71d60084b..7cf21d211 100644
--- a/tests/snapshots/ui__ui_test_usage_help_flag.snap
+++ b/tests/snapshots/ui__ui_test_usage_help_flag.snap
@@ -4,7 +4,7 @@ expression: "output_to_string(ouch!(\"--help\"))"
 ---
 A command-line utility for easily compressing and decompressing files and directories.
 
-Supported formats: tar, zip, gz, xz/lzma, bz/bz2, lz4, sz, zst.
+Supported formats: tar, zip, gz, 7z, xz/lzma, bz/bz2, lz4, sz (Snappy), zst and rar.
 
 Repository: https://github.com/ouch-org/ouch