553 Commits

Author SHA1 Message Date
Antonios Barotsis
e2ac5c4c9b Make all info logs use the new system 2024-04-01 10:58:35 -03:00
Antonios Barotsis
e989db7a3a Added buffering 2024-04-01 10:58:35 -03:00
Antonios Barotsis
c2873f77d3 wip 2024-04-01 10:58:35 -03:00
João Marcos P. Bezerra
6f566b9c4d add module docs for accessible mode 2024-03-15 15:26:55 -03:00
Antonios Barotsis
8e43cd2afa Change existing method docs to valid rustdoc 2024-02-28 20:27:32 -03:00
cyqsimon
fa2d214fee Feature-gate RAR support 2023-12-14 23:32:17 -03:00
João Marcos P. Bezerra
4314a3bbdd Mention Rar support in README and help 2023-12-05 13:04:08 -03:00
Ilya Grigoriev
e2796cef78 Mention 7z support in README and help 2023-12-05 13:04:08 -03:00
Ilya Grigoriev
9f82c9a655 Clarify that .sz refers to Google's Snappy format
It needs to be disambiguated from the unfortunately named
SZ compression, see https://szcompressor.org/.

Fixes #563
2023-12-05 13:04:08 -03:00
João Marcos P. Bezerra
a7a65d2510 Report errors for non-UTF-8 entries in Zip and 7z 2023-11-25 21:33:22 -03:00
João Marcos P. Bezerra
d07c65508a Removing redundant code 2023-11-25 21:33:22 -03:00
João Marcos P. Bezerra
8483739184 Minor refactor to archive handling code 2023-11-25 21:33:22 -03:00
Flat
69b1db4a35 chore: cargo fmt 2023-11-25 21:33:22 -03:00
Flat
97b4356aa8 feat: implement 7zip support for compression and decompression
This also fixes symlink canonicalization for Windows and fixes UI tests on Windows.
2023-11-25 21:33:22 -03:00
MisileLab
9a6d73bf57 idk i just merged and patch some
Signed-off-by: MisileLab <misileminecord@gmail.com>
2023-11-25 21:33:22 -03:00
figsoda
8023a9157e small cleanups 2023-11-25 21:33:22 -03:00
misilelab
db0bc8a7d9 impl except test 2023-11-25 21:33:22 -03:00
MisileLaboratory
d0d227b234 fix: Incorrect count 2023-11-25 21:33:22 -03:00
MisileLaboratory
30d269fc8f fix: Incorrect decompressed file count 2023-11-25 21:33:22 -03:00
MisileLaboratory
2ebdaf6ecf feat: RefCell remove 2023-11-25 21:33:22 -03:00
MisileLaboratory
f2b984bc7a feat: cleanup codes and more error handling 2023-11-25 21:33:22 -03:00
MisileLaboratory
76a459e02e feat: good error handling 2023-11-25 21:33:22 -03:00
MisileLaboratory
d825feaeff feat: good error output 2023-11-25 21:33:22 -03:00
MisileLaboratory
862181ae0a feat: decompress with count 2023-11-25 21:33:22 -03:00
MisileLaboratory
ceed0156a0 fix: now recursivly compress 7z 2023-11-25 21:33:22 -03:00
MisileLaboratory
9e6a9cf40b [ci skip] not ready 2023-11-25 21:33:22 -03:00
MisileLaboratory
d4581090d8 style: cargo fmt 2023-11-25 21:33:22 -03:00
MisileLaboratory
3cb2367793 feat: simple impl 7zip and lot of todo 2023-11-25 21:33:22 -03:00
Łukasz Krawiec
dade163243 added support for listing and decompressing .rar archives 2023-11-15 08:59:00 -03:00
Łukasz Krawiec
a3dca85cdd fixed check_mime_type usage 2023-11-15 08:59:00 -03:00
figsoda
b7da9b02ac
Merge pull request #509 from ouch-org/fix-unaligned-messages
fix unaligned output when using parallelism
2023-09-19 22:42:39 -04:00
João M. Bezerra
a26d3d34ce Improve hints when decompressing with no extension
refactored `check_missing_formats_when_decompressing` to be aware of
missing extensions and unsupported extensions in order to give a more
detailed error message
2023-09-17 20:05:54 -03:00
João M. Bezerra
c7f69194e8 give a less ambiguous warning for sniff failure
Ouch check for file signatures to be sure that the file indeed has the
correct format as inferred by extension, when that fails, we output a
message explaining that Ouch wasn't able to confirm the format, however,
previous message was confusing with the other extension detection ones
2023-09-17 19:06:14 -03:00
figsoda
4703f1b821
Merge pull request #511 from ouch-org/cli-add-tests
add tests for CLI usage
2023-09-16 10:16:39 -04:00
João M. Bezerra
c7d48297fc add tests for CLI usage 2023-09-15 18:24:06 -03:00
João M. Bezerra
10d530d236 fix unaligned output when using parallelism 2023-09-12 14:00:19 -03:00
João M. Bezerra
7c6989de0e completions: hint generator to expand to file paths 2023-09-12 13:20:24 -03:00
João Marcos
9507c4d93a
Merge pull request #502 from ouch-org/fix-size-unit-inconsistency
Fix size unit inconsistency
2023-09-07 16:12:20 -03:00
João M. Bezerra
c32cbd8c7b fix clippy warning 2023-09-04 21:49:42 -03:00
João M. Bezerra
cbd327aad7 replace usage of ubyte by our own Bytes formatter 2023-09-04 21:15:57 -03:00
João M. Bezerra
693167e933 formatting: fix gibibytes vs gigabytes issue 2023-09-04 20:54:49 -03:00
João M. Bezerra
76116ed5ec re-add our size unit code from 368a776 2023-09-04 20:40:00 -03:00
Pascal Seitz
c117517bbe switch to lz4_flex
The release of lz4_flex 0.11 fixes two issue that caused problems
before:
- The new `auto-finish` flushes on drop
- FrameEncoder writes now empty frames. Previously nothing was written,
  which caused issues with double compressed empty data.
2023-06-20 21:30:10 +08:00
João M. Bezerra
20f38390c6 fix: handle Zip when modified times are missing 2023-06-04 17:19:23 -03:00
João M. Bezerra
d926e0f00a minor, use Try 2023-04-16 22:58:03 -03:00
figsoda
8d77478b73 increase compression level of --fast from 0 to 1 2023-03-19 15:33:10 -04:00
figsoda
499e2ea5fd extract level to a variable 2023-03-19 15:32:54 -04:00
figsoda
f21883170b implement --fast and --slow 2023-03-19 15:04:27 -04:00
xgdgsc
abc3bfe3a4 clippy fix 2023-03-19 09:41:39 +08:00
xgdgsc
994a9b384d
Update src/commands/compress.rs
Co-authored-by: figsoda <figsoda@pm.me>
2023-03-19 09:17:42 +08:00
xgdgsc
e92b9ff723 option level tests 2023-03-18 12:23:59 +08:00
xgdgsc
b8b9c5042f 🐛 fix 2023-03-18 08:54:15 +08:00
xgdgsc
653ff976f5 clamp , merge test 2023-03-17 22:09:20 +08:00
xgdgsc
d9ffd42c8f 🐛 fix 2023-03-17 21:36:31 +08:00
xgdgsc
ffa16c7d6e add test, move 2023-03-17 17:59:53 +08:00
xgdgsc
df5f846581 🔥 name 2023-03-15 21:41:59 +08:00
xgdgsc
2c917dfa29 add raw level arg 2023-03-14 20:07:16 +08:00
figsoda
40b0b7b364 fix deprecation warning 2023-03-11 16:33:42 -05:00
figsoda
732159b662
fixup outdated comment for check_mime_type 2023-02-06 21:13:06 -05:00
João M. Bezerra
8102260da4 simplify check_mime_type 2023-02-06 20:56:46 -03:00
figsoda
045ed5d72e make mime sniffing consistent for list and decompress 2023-02-06 12:59:16 -05:00
Orhun Parmaksız
a2c894d935
Merge branch 'main' into feat/add_ls_alias 2023-02-05 00:54:20 +03:00
Orhun Parmaksız
c88d121ecc
Add ls as an alternative alias for listing 2023-02-05 00:17:36 +03:00
João M. Bezerra
99d9c09fb7 refac: check_invalid_compression_with_non_archive_format 2023-02-03 02:24:07 -03:00
João M. Bezerra
1f4eba2bcb separate function check_invalid_compression_with_non_archive_format 2023-02-03 02:24:07 -03:00
João M. Bezerra
93daa7b929 separate function check_first_format_when_compressing 2023-02-03 02:24:07 -03:00
João M. Bezerra
f33c9c0f39 separate function check_missing_formats_when_decompressing 2023-02-03 02:24:07 -03:00
João M. Bezerra
db62f1c534 --help: add .sz to list of supported formats 2023-02-03 02:24:07 -03:00
João M. Bezerra
3748e1d31e add #![warn(missing_docs)] to check.rs 2023-02-03 02:24:07 -03:00
João M. Bezerra
fc8bc82296 separate function check_archive_formats_position 2023-02-03 02:24:07 -03:00
João M. Bezerra
54ee52610a fix rustdoc warnings 2023-02-03 02:24:07 -03:00
João M. Bezerra
6710987b38 move check_for_non_archive_formats to check.rs 2023-02-03 02:24:07 -03:00
João M. Bezerra
b938dc014c move build_archive_file_suggestion to extension.rs 2023-02-03 02:24:06 -03:00
João M. Bezerra
7f763ff500 move module tests to end of file 2023-02-03 01:19:34 -03:00
João M. Bezerra
aad55e6102 move check_mime_type to check.rs 2023-02-03 01:19:32 -03:00
João M. Bezerra
d2db26a59d create check.rs 2023-02-03 01:17:35 -03:00
João M. Bezerra
5b99f434c3 rename Opts to CliArgs 2023-02-03 01:17:33 -03:00
figsoda
58da7dbf34 always use zip64 2023-01-31 18:42:32 -05:00
figsoda
634978fea5
Merge branch 'main' into large 2023-01-31 18:08:24 -05:00
João Marcos
bc78e64739
Merge pull request #355 from figsoda/ext
fix handling of unknown extensions
2023-01-31 19:57:05 -03:00
figsoda
fe464213b3 fix typos 2023-01-31 14:21:19 -05:00
figsoda
2238a20f0f fix handling of unknown extensions 2023-01-31 10:57:07 -05:00
figsoda
50573f9d91 zip: fix compression of files larger than 4GB 2023-01-31 10:48:48 -05:00
figsoda
2d5dc06a4f multi-threaded snap compression using gzp 2023-01-30 19:36:20 -05:00
figsoda
5abdd5fc96 multi-threaded gzip compression using gzp 2023-01-30 19:36:20 -05:00
João Marcos Bezerra
4c53bde44d
Merge branch 'main' into remove-extension-display-implementation 2023-01-10 19:13:44 -03:00
João Marcos Bezerra
46731c0798
replace code that refers to .lz isntead of .lzma (#344) 2023-01-10 12:21:46 -03:00
João M. Bezerra
73cff04eb5 make some extension items private 2023-01-10 04:35:24 -03:00
João M. Bezerra
752ed72a91 remove incorrect Display implementation 2023-01-10 04:35:03 -03:00
figsoda
5a3bac67c9 add --format option 2023-01-07 14:57:39 -05:00
figsoda
f52254c91e refactor list command 2023-01-05 23:18:40 -05:00
Vinícius R. Miguel
23e33412a4 Decompress files in parallel 2023-01-05 21:22:38 -03:00
figsoda
c7165fb52c avoid directly indexing when possible 2023-01-05 15:10:22 -05:00
figsoda
e06b2c8635 apply clippy suggestions 2023-01-05 14:23:37 -05:00
Vinícius R. Miguel
3bb0e57ed4 Stop keeping track of the names of unpacked files 2023-01-05 15:52:21 -03:00
Vinícius R. Miguel
d99266e1ce Use ubyte instead of humansize 2023-01-05 14:49:46 -03:00
Vinícius R. Miguel
2caeb1004c refac: add support for Windows in EscapedPathDisplay 2023-01-05 13:39:06 -03:00
Vinícius R. Miguel
0deb18289a refac: use BStr to display possibly non-UTF8 byte sequences 2023-01-05 12:46:29 -03:00
Vinícius Miguel
9854285c38
listing: slight refactor when ensuring archive-only inputs (#331) 2023-01-05 02:37:18 -03:00
figsoda
a9f2e614ed improve extension parsing logic 2023-01-02 22:15:00 -05:00