From 6dd59b815d26012e7c416d5f6e9ff4a6380a530b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20M=2E=20Bezerra?= Date: Fri, 18 Nov 2022 14:49:10 -0300 Subject: [PATCH] update README for 0.4.0 release --- README.md | 96 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 70 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 5115da0..bcec9eb 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,6 @@ Crates.io link - - Docs.rs link - License @@ -12,7 +9,9 @@ # Ouch! -`ouch` stands for **Obvious Unified Compression Helper** and is a CLI tool to help you compress and decompress files of several formats. +`ouch` stands for **Obvious Unified Compression Helper**. + +It's a CLI tool for compressing and decompressing for various formats. - [Features](#features) - [Usage](#usage) @@ -24,29 +23,29 @@ # Features 1. Easy to use. -2. Accessibility mode (A11Y) via `--accessibility` or `ACCESSIBILITY` env var (see [wiki page](https://github.com/ouch-org/ouch/wiki/Accessibility)). -3. Automatic formats detection. -4. Same usage syntax for all formats. -5. Uses encoding and decoding streams to improve performance. -6. No runtime dependencies (for _Linux x86_64_). -7. Can list archive contents with pretty tree formatting. -8. Shell completions (soon!). +2. Fast. +3. Great error message feedback. +4. No runtime dependencies required (for _Linux x86_64_). +5. Accessibility mode ([see more](https://github.com/ouch-org/ouch/wiki/Accessibility)). +6. Shell completions and man pages. # Usage +Ouch has three main subcommands: + +- `ouch decompress` (alias `d`) +- `ouch compress` (alias `c`) +- `ouch list` (alias `l`) + ## Decompressing -Use the `decompress` subcommand and pass the files. +Use the `decompress` subcommand, `ouch` will detect the extensions automatically. ```sh -# Decompress a file ouch decompress a.zip # Decompress multiple files ouch decompress a.zip b.tar.gz c.tar - -# Short alternative -ouch d a.zip ``` The `-d/--dir` flag can be used to redirect decompression results to another directory. @@ -58,23 +57,56 @@ ouch decompress summer_vacation.zip --dir pictures ## Compressing -Use the `compress` subcommand, pass the files and the **output file** at the end. +Pass input files to the `compress` subcommand, add the **output file** at the end. ```sh -# Compress four files -ouch compress 1 2 3 4 archive.zip +# Compress two files into `archive.zip` +ouch compress one.txt two.txt archive.zip -# Short alternative -ouch c file.txt file.zip +# Compress file.txt using .lz4 and .zst +ouch compress file.txt file.txt.lz4.zst ``` `ouch` detects the extensions of the **output file** to decide what formats to use. +## Listing + +```sh +ouch list archive.zip + +# Example with tree formatting +ouch list source-code.zip --tree +``` + +Output: + +``` +└── src + ├── archive + │ ├── mod.rs + │ ├── tar.rs + │ └── zip.rs + ├── utils + │ ├── colors.rs + │ ├── formatting.rs + │ ├── mod.rs + │ └── fs.rs + ├── commands + │ ├── list.rs + │ ├── compress.rs + │ ├── decompress.rs + │ └── mod.rs + ├── accessible.rs + ├── error.rs + ├── cli.rs + └── main.rs +``` + # Supported formats -| Format | `.tar` | `.zip` | `.bz`, `.bz2` | `.gz` | `.lz4` | `.xz`, `.lzma` | `.sz` | `.zst` | -|:---------:|:------:|:------:|:-------------:|:-----:|:------:|:--------------:|:-----:|:------:| -| Supported | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| Format | `.tar` | `.zip` | `.gz` | `.xz`, `.lzma` | `.bz`, `.bz2` | `.lz4` | `.sz` | `.zst` | +|:---------:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| +| Supported | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | And the aliases: `tgz`, `tbz`, `tbz2`, `tlz4`, `txz`, `tlzma`, `tsz`, `tzst`. @@ -88,7 +120,19 @@ Formats can be chained: [![Packaging status](https://repology.org/badge/vertical-allrepos/ouch.svg)](https://repology.org/project/ouch/versions) -## Downloading the latest binary +## On Arch Linux + +```bash +yay -S ouch +``` + +## From crates.io + +```bash +cargo install ouch +``` + +## Using our script to download the latest binary Compiled for `x86_64` on _Linux_, _Mac OS_ and _Windows_, run with `curl` or `wget`. @@ -101,7 +145,7 @@ The script will copy the [latest binary](https://github.com/ouch-org/ouch/releas ## Compiling from source code -Check the [wiki guide](https://github.com/ouch-org/ouch/wiki/Compiling-and-installing-from-source-code). +Check the [wiki guide on compiling](https://github.com/ouch-org/ouch/wiki/Compiling-and-installing-from-source-code). # Dependencies