437 Commits

Author SHA1 Message Date
Vinícius Miguel
bf9e6b7b98
feat: use Cow<'static, str> in FinalError (#246) 2022-01-16 18:35:53 -03:00
Vinícius Miguel
6fc6d23872
fix: missing #[must_use] attribute on a method returning Self (#243) 2022-01-15 16:14:23 -03:00
Crypto-Spartan
56f11424dc
remove lib.rs and move contents to main.rs (#241) 2022-01-13 15:13:12 -03:00
Crypto-Spartan
8ae774ceff add 'about' info (Cargo.toml descripion value) to help message 2022-01-05 21:55:26 +00:00
Crypto-Spartan
e816ec1f8f use rustfmt 2022-01-04 23:01:32 +00:00
Crypto-Spartan
fa2af20814 fix warning for zip with additional formats 2022-01-04 22:45:24 +00:00
Lovecraftian Horror
0b688fa70c Make yes, no, and accessible flags global 2021-12-29 14:15:30 -06:00
João Marcos Bezerra
308b8f7e90
Merge pull request #225 from sigmaSd/list
List command: print file immediatly after it is processed
2021-12-20 13:11:15 -03:00
Nbiba Bedis
3ce9927e2b Show progress when using list --tree 2021-12-20 11:22:52 +01:00
Nbiba Bedis
40bb56bf79 Mark files as directories when compressing to zip regardless if they're empty or not 2021-12-14 09:18:16 +01:00
João Marcos Bezerra
35a158ec63
Merge pull request #229 from sigmaSd/ux
Actually use relative paths when extracting
2021-12-13 22:43:14 -03:00
sigmaSd
a3d3e5d1d9
Truncate long messages in the progress bar (#214)
* Truncate long messages in the progress bar
2021-12-13 22:40:52 -03:00
Crypto-Spartan
add6a595bd
Merge pull request #227 from Crypto-Spartan/question-continue
remove redundant user_wants_to_continue function
2021-12-09 18:21:32 -03:00
João Marcos Bezerra
f40f40cda0
Merge pull request #226 from Crypto-Spartan/eprint-fix
simple eprintln fixes
2021-12-09 17:53:13 -03:00
Nbiba Bedis
42bcc024d4 Actually use relative paths when extracting 2021-12-09 17:59:25 +01:00
Nbiba Bedis
19081caa70 Rebase 2021-12-09 09:37:23 +01:00
Nbiba Bedis
47462ba40d Rebase 2021-12-09 09:34:07 +01:00
Nbiba Bedis
569f39c6c9 Use a new thread for listing 2021-12-09 09:28:44 +01:00
Nbiba Bedis
b1667bd474 Remove comment 2021-12-09 08:24:49 +01:00
Nbiba Bedis
a07bc72faf Show info for list --tree 2021-12-09 08:24:49 +01:00
Nbiba Bedis
2adcfb364f List command: print file immediatly after it iss processed 2021-12-09 08:24:49 +01:00
João Marcos Bezerra
9c3446924c
Merge pull request #224 from sigmaSd/sym
Ignore broken symlinks when compressing
2021-12-09 01:06:34 -03:00
Crypto-Spartan
cd0a58d27e simple eprintln! fixes 2021-12-08 18:25:41 +00:00
Nbiba Bedis
734ffd4331 Compile on stable 2021-12-08 11:58:02 +01:00
Nbiba Bedis
34c09d5d69 Ignore broken symlinks when compressing 2021-12-08 11:46:30 +01:00
João M. Bezerra
775e92c52e Add redundant check for --yes and --no flags conflict
Should be covered by clap, but we're double checking it now
2021-12-08 00:26:05 -03:00
João Marcos Bezerra
fddc79628a
Merge pull request #215 from figsoda/snappy
support snappy format
2021-12-08 00:17:59 -03:00
João Marcos Bezerra
9e435b7026
Merge pull request #219 from Crypto-Spartan/fix-hint-suggestion
Fix the hint suggestion for compressing multiple files
2021-12-07 23:55:11 -03:00
João M. Bezerra
250d2e231c Reformat code 2021-12-07 23:25:21 -03:00
Crypto-Spartan
7703d12af2 Fix the hint suggestion for compressing multiple files 2021-12-07 23:20:53 +00:00
Crypto-Spartan
17d9f17277 Ask user to continue after .zip warning is shown 2021-12-07 21:40:03 +00:00
Crypto-Spartan
f8acb61777 Fix inconsistent zip compression and decompression memory usage warnings 2021-12-07 21:01:43 +00:00
figsoda
52a8acf2e1 support snappy format 2021-12-07 13:59:56 -05:00
Nbiba Bedis
0976970e8c Add progress bar for compressing/decompressing 2021-11-25 11:57:47 +01:00
João M. Bezerra
b31f407011 Reformat code 2021-11-24 23:45:12 -03:00
João M. Bezerra
4e0dbeb85b Merge branch 'accessibility' 2021-11-24 23:39:00 -03:00
Anton Hermann
437b0c42ff Make ZIP comment show in accessibility mode 2021-11-23 18:43:21 +01:00
Anton Hermann
1030eb0de9 Improve accessibility code and comment decisions why some info is (in)accessible 2021-11-23 11:53:20 +01:00
Anton Hermann
34cbe5746d Fix 40cee89: include review 2021-11-22 01:40:42 +01:00
Nbiba Bedis
ba617fdea8 Make logging consistant for zip 2021-11-16 09:39:10 +01:00
Nbiba Bedis
a87b89073e Document unwrap safety 2021-11-16 09:32:01 +01:00
Nbiba Bedis
4fc49b63cc Assert that output_dir exists in decompress_fn as well 2021-11-16 09:23:40 +01:00
João Marcos Bezerra
1c52dc5ee4
Assert that output_dir exists 2021-11-15 13:05:46 -03:00
Nbiba Bedis
c0b37c117c Add comment 2021-11-15 11:37:32 +01:00
Nbiba Bedis
9e41712f44 Smart unpack archives 2021-11-15 11:31:29 +01:00
João Marcos Bezerra
ed68e17eb8
Merge pull request #206 from sigmaSd/refactor
Simplify decompress function
2021-11-14 15:44:09 -03:00
Nbiba Bedis
b0ab145162 Add comment 2021-11-14 19:12:46 +01:00
Nbiba Bedis
11ee27ea25 Ask to overwrite if the user specified dir exists 2021-11-14 19:06:49 +01:00
João Marcos Bezerra
3b8333a063
Merge pull request #193 from sigmaSd/ub
Skip compressing file if its the same file as the output
2021-11-14 14:03:39 -03:00
Nbiba Bedis
85968ea841 Simplify decompress function 2021-11-14 17:59:40 +01:00
Nbiba Bedis
3e52eb6deb use fs_err canonicalize 2021-11-14 07:21:54 +01:00
João Marcos Bezerra
92372813a5
Fix error with format infer 2021-11-14 02:14:51 -03:00
João Marcos Bezerra
fe4b265d9f
Merge branch 'master' into infer2 2021-11-14 02:11:28 -03:00
Vinícius Rodrigues Miguel
afc8367230 Simplify (optimize?) several file inferring functions 2021-11-14 01:53:59 -03:00
Nbiba Bedis
08b2314d8f display xz when inferring lzma 2021-11-13 17:13:51 +01:00
Nbiba Bedis
0660c2fe59 Remove Lzip because its incorrect, and improve extention comparison 2021-11-13 09:46:08 +01:00
Anton Hermann
40cee89bab Implement accessibility mode which reduces visual noise 2021-11-13 01:47:08 +01:00
Anton Hermann
c1add95e70 Fix warnings in doc comments
Escape square brackets comments containing "[INFO]", "[WARNING]", "[ERROR]"

Suppress automatic link markup warning
2021-11-13 00:07:17 +01:00
Nbiba Bedis
28b512ae3f Skip compressing file if its the same file as the output 2021-11-12 11:51:44 +01:00
João Marcos Bezerra
6147d13259
Add missing period 2021-11-11 11:32:36 -03:00
figsoda
6d393b3c97 add link to github to help message 2021-11-11 09:15:59 -05:00
João Marcos Bezerra
180f63209a
Merge pull request #190 from SpyrosRoum/fix-decompressing-failing-to-create-dir
Fix not overwriting files/dirs when trying to create a directory
2021-11-11 11:08:41 -03:00
João Marcos Bezerra
6a56e1ca46
Merge pull request #189 from figsoda/help-supported-formats
add supported formats to help message
2021-11-11 11:04:07 -03:00
Spyros Roum
c33d896743 Change clear_path to return Result<bool>
So `Ok(true)` means the path is clear while `Ok(false)` means the user doesn't want to overwrite
2021-11-11 15:58:51 +02:00
Spyros Roum
d1d781dded Clear path before creating a dir 2021-11-11 11:36:40 +02:00
Spyros Roum
eb9a99fff3 Create util for clearing a path 2021-11-11 11:36:26 +02:00
figsoda
043a04bf51 add supported formats to help message 2021-11-10 22:04:00 -05:00
figsoda
5616231af9 simplify colors 2021-11-10 21:59:07 -05:00
figsoda
1fb9ef5abc remove trailing blank lines in error messages 2021-11-10 21:56:04 -05:00
João M. Bezerra
162e1c1259 Fix error message panic when cannot list non-archive files 2021-11-10 20:24:57 -03:00
João M. Bezerra
05d83a3726 Utf8 checks, using references and avoid allocating
And add docs
2021-11-10 19:59:36 -03:00
João M. Bezerra
f1c0c82323 Move utf8 utils from zip.rs to utils module 2021-11-10 19:47:36 -03:00
João M. Bezerra
ed0e225219 Improve error message for Zip invalid encoding errors
And refactor function implementations
2021-11-10 19:45:27 -03:00
João M. Bezerra
b7c6589864 Small docs update 2021-11-10 10:09:54 -03:00
João M. Bezerra
f09f1cecba Merging dialogs.rs with question.rs 2021-11-10 09:57:51 -03:00
João M. Bezerra
a531d44e2b Move colors module to it's own file 2021-11-10 09:55:44 -03:00
João M. Bezerra
63cfeb26ef Add accidentally removed link in docs 2021-11-10 09:52:20 -03:00
João M. Bezerra
d27e259b26 Reorganizing src/utils, by renaming submodules
And moving formatting stuff out of fs.rs
2021-11-10 09:51:26 -03:00
João Marcos Bezerra
1579a482e8
Fix typo
DeMorgan's laws apply to disjunctions, not implications.
2021-11-10 09:06:09 -03:00
João Marcos Bezerra
1026fa19fd
Merge pull request #154 from sigmaSd/infer
Infer file extension when decompressing
2021-11-10 06:40:54 -03:00
João M. Bezerra
cbc87866fa Fix zip magic numbers detection
And reworked detection for other formats as well
2021-11-10 06:34:05 -03:00
João M. Bezerra
16acb98b6e Early return when can't detect extension from magic numbers 2021-11-10 06:04:31 -03:00
João M. Bezerra
552096acf0 Minor import and module exporting changes 2021-11-10 06:03:46 -03:00
Nbiba Bedis
266cf6e27a Infer file extension when decompressing 2021-11-10 05:41:44 -03:00
figsoda
dedd254ace switch from lz4_flex to lzzzz, enable lz4 tests 2021-11-09 21:26:04 -05:00
João Marcos Bezerra
abf1d4e3e4
Readme update (#161)
* Updating badges

* Reformatted support table to be monospaced

* Add first benchmark to the readme

And fixed a typo

* Some readme rewording

* Removing readme redundant compression example

* Change badges to have squared corners

* readme: increase headers size by one

* Slight modifications to the README

* Specify dependencies and tweak some other stuff

* Add MSRV

Co-authored-by: Vinícius Miguel <36349314+vrmiguel@users.noreply.github.com>
2021-11-06 01:29:56 -04:00
Vinícius Miguel
43fb274956
Optimize strip_cur_dir (#167) 2021-11-05 23:49:35 -04:00
Vinícius Miguel
739a52f00e
Refactor utils into a module (#166) 2021-11-05 22:04:00 -04:00
João Marcos Bezerra
d1988b4ba2
Remove import comments 2021-11-04 01:08:09 -03:00
Vinícius Rodrigues Miguel
e81fafc3d3 Make Extension non-exhaustive 2021-11-03 18:08:39 -03:00
Vinícius Rodrigues Miguel
75ece05dbf Avoid allocating in nice_directory_display when possible 2021-11-03 18:08:22 -03:00
João Marcos Bezerra
2af0464ed3
Merge pull request #153 from figsoda/typo
Fix zsh shell completions
2021-11-03 13:15:40 -03:00
Vinícius Rodrigues Miguel
a798d20106 extension: Use hardcoded slices instead of Vecs when creating an Extension 2021-11-03 12:35:29 -03:00
figsoda
cd84161b28 fix typo 2021-11-02 18:51:33 -04:00
João Marcos Bezerra
a1c4f0373f
Merge pull request #150 from figsoda/lz4
Add support for lz4
2021-11-02 18:45:53 -03:00
figsoda
27d8e64192 minor improvements 2021-11-02 17:37:24 -04:00
figsoda
296826b4d3 add support for lz4 format 2021-11-02 17:37:24 -04:00
João M. Bezerra
75142f14b9 Fix short flag for the --dir flag 2021-11-02 18:27:46 -03:00
João M. Bezerra
5059f9c875 Perform exhaustive matching on error variants
Fixes #29
2021-11-02 17:44:13 -03:00
João M. Bezerra
27b6970eda Updating rustfmt 2021-11-02 16:15:36 -03:00
João M. Bezerra
9a9488fcd2 Merge branch 'command_list' 2021-11-02 15:31:01 -03:00
João Marcos Bezerra
73c1d9a41c
Merge pull request #141 from SpyrosRoum/fix-decompression-overwritting-files-without-asking
Fix decompression overwritting files without asking and failing on directories
2021-11-02 08:58:31 -03:00
Spyros Roum
7f5ff0faf1 Fix archives panicking when asked to overwrite file 2021-11-02 13:34:38 +02:00
Spyros Roum
547b8c91e5 Extract function 2021-11-02 13:34:04 +02:00
João Marcos Bezerra
e4e1d6a565
Merge pull request #140 from ouch-org/improving-error-treatment
Improving error messages and removing dead error treatment code
2021-11-02 07:41:19 -03:00
Spyros Roum
8ef1b25b12 Ask to overwrite dirs when decompressing archives 2021-11-02 12:38:10 +02:00
João M. Bezerra
2fcec33ec6 Removing obsolete error variants 2021-11-02 07:36:17 -03:00
João Marcos Bezerra
df3bb3b72b
Simplify cli canonicalize implementation 2021-11-02 07:21:03 -03:00
João M. Bezerra
5c0f24f567 Change alignment of error message replacement suggestion 2021-11-02 06:30:59 -03:00
João M. Bezerra
21134aaeff Improve message when no extensions given to compress file 2021-11-02 06:28:55 -03:00
João M. Bezerra
047102ec07 Remove InternalError, replaced by unreachable! macro 2021-11-02 06:28:40 -03:00
João M. Bezerra
fadc412896 Improve error message when no extensions given to decompress
Fixes #137
2021-11-02 06:13:24 -03:00
Spyros Roum
70c81ed8a4 Fix non-archives overwriting files without asking and error-ing on dirs 2021-11-02 10:58:58 +02:00
João M. Bezerra
6cebf78da6 Simplify Error::Custom code conversions 2021-11-02 05:18:34 -03:00
João M. Bezerra
d2d4a929e1 Docs improvements
+ Removed some dead code
2021-11-02 04:57:26 -03:00
João M. Bezerra
15e922b7ba Fixing some Extension tests 2021-11-02 01:16:42 -03:00
João Marcos Bezerra
75cad36c5c
Merge branch 'master' into Remove-tar-combinations-from-CompressionFormat 2021-11-02 01:00:18 -03:00
Anton Hermann
8527616729 FIX 9919c72: add doc comment, remove accidentally doubled is_archive() 2021-11-01 12:40:30 +01:00
Anton Hermann
9919c72347 Merge branch 'master' into command_list 2021-11-01 12:32:55 +01:00
Anton Hermann
cabb4f03bf list: add comments 2021-11-01 12:15:56 +01:00
Anton Hermann
e8f24b7178 list: highlight directories (either coloring them or adding a /) 2021-11-01 12:15:36 +01:00
Anton Hermann
5421a5db77 Implement tree output for 'list' command 2021-11-01 08:53:18 +01:00
Anton Hermann
30ebcf4f9e Implement command 'list' to show archive contents 2021-11-01 08:53:03 +01:00
Spyros Roum
4921d3d3d2 Add Extension wrapper that lets us keep tgz instead of forcing tar.gz 2021-11-01 01:09:37 +02:00
João M. Bezerra
d9e0b4c5fb Fixing documentation conflicting with build.rs 2021-10-31 12:57:30 -03:00
Spyros Roum
604616e042 Use proper match with no wildcard when detecting if it's archive 2021-10-31 11:09:35 +02:00
João M. Bezerra
20e0067cad Adding docs in new files and functions 2021-10-31 03:21:52 -03:00
João Marcos Bezerra
95d38e99f6 Merge branch 'master' into issue-32 2021-10-31 03:01:41 -03:00
João Marcos Bezerra
9b7b863e94
Merge branch 'master' into master 2021-10-31 02:41:43 -03:00
João M. Bezerra
a85eb68a60 Merge branch 'pr/completions-manpage' 2021-10-31 02:23:21 -03:00
João M. Bezerra
77873cde15 Merge branch 'pr/fix-archive-format-detection' 2021-10-31 01:59:41 -03:00
João M. Bezerra
4e731f8af3 Merge branch 'dir-flag' 2021-10-31 01:49:33 -03:00
figsoda
614f2aa6d5
Merge branch 'master' into completions-manpage 2021-10-30 16:59:24 -04:00
Gabriel Simonetto
7c82f2b3b7 Make remaining modules public in order to gain the documentation check 2021-10-30 17:00:07 -03:00
Gabriel Simonetto
704a4efdd7 Merge branch 'master' into issue-56 2021-10-30 11:31:09 -03:00
João M. Bezerra
d1c905cda4 Improving permission denied error message 2021-10-30 11:17:38 -03:00
João M. Bezerra
6c6f721f35 Solved FinalError compile errors 2021-10-30 11:17:38 -03:00
Gabriel Simonetto
09b050d836 Introduce fs_err as a replacement for fs 2021-10-30 11:17:38 -03:00
Santo Cariotti
09c2830190 feat: print number of unpacked files 2021-10-29 19:21:17 +02:00
Santo Cariotti
2d84686b25 feat: write only one time the info on stdout 2021-10-29 19:14:16 +02:00
Gabriel Simonetto
70b787b58e Fix repo link on documentation 2021-10-27 00:08:26 -03:00
Gabriel Simonetto
0fdef287c4 Warn for missing docs, and add necessary docs 2021-10-27 00:08:00 -03:00
Spyros Roum
6b6ade8c9a Break down tgz, tbz, etc to tar + gz/bz 2021-10-22 14:49:32 +03:00
Spyros Roum
caca7901c4 Run cargo fmt 2021-10-22 14:47:44 +03:00
Spyros Roum
02657ee5bc Remove the variants from CompressionFormat 2021-10-22 14:46:54 +03:00
Spyros Roum
bdf5090844 zst is not an archive format.. 2021-10-22 02:21:31 +03:00
figsoda
d6054ba3ee move QuestionPolicy to lib 2021-10-21 19:13:29 -04:00
Spyros Roum
91a1054c3c Remove duplicated if/else branches 2021-10-22 02:05:38 +03:00
Spyros Roum
0f3bc4f444 Use the new method were applicable 2021-10-22 02:04:55 +03:00
Spyros Roum
340827de1f Introduce is_archive_format method on CompressionFormat 2021-10-22 02:00:11 +03:00