Commit Graph

63 Commits

Author SHA1 Message Date
Lux Aliaga 0424ec2ba9
src: Add public documentation for remaining functions
Essentially the documentation that will go into docs.rs.
2023-02-19 18:23:00 -03:00
Lux Aliaga 27b42e963e
error: Add more error types
Since error refactoring was quite incomplete, I've added more errors for other parts of Vento. This should cover almost every error except slot errors, since those require their own formatting.
2023-02-19 14:42:26 -03:00
Lux Aliaga 67d2da8767
error: Fix switchup between SpecifyFile and SpecifySlot
Turns out SpecifyFile would show the message for SpecifySlot and
viceversa. Whoops!
2023-02-19 13:34:32 -03:00
Lux Aliaga 75fb04d674
help: Document the archiving flags
The only caveat is the limitations of the man library will not
allow me to write more in-depth documentation of the new flags. Maybe if
I go through refactoring the binary side using clap this will be easier.
2023-02-19 13:30:48 -03:00
Lux Aliaga d148a96e06
archive: Reword Vento directory archives
Calling the action of archiving the Vento directory "Archiving Vento
installs" was a bit misleading, so I changed it to Vento directories.
2023-02-19 13:19:20 -03:00
Lux Aliaga 2a4ee258a3
archive: Add install importing
Allows exported installs to be imported using the command `vento -G`.
Mind the uppercase "G" there!
2023-02-19 13:04:33 -03:00
Lux Aliaga 13d0889ad1
archive: Add inventory importing
Allows exported inventories to be imported using the command `vento -g`
2023-02-19 12:49:11 -03:00
Lux Aliaga c5cc1ea97a
archive: Add install exporting
This exports all contents in your vento directory into an xz tarball.
Needs documentation, but essentially it works using `vento -E`. Mind the
uppercase E there!
2023-02-17 13:39:56 -03:00
Lux Aliaga faf8036b19
archive: Fixed slot colors
In the confirmation message the slot being exported showed as white. It
should now be colored in either green, blue or red.
2023-02-17 12:44:18 -03:00
Lux Aliaga b6162a9dcb
archive: Add inventory exporting
Currently undocumented, but this should allow users to export their
inventory slots as xz tarballs using `vento -e`. Ideal for sharing
collections of files to friends!
2023-02-17 02:07:28 -03:00
Lux Aliaga 791cdf3193
src: Supress clippy warnings
Most of them were related to unnecessary borrows, although one was
because I pointlessly added a format! inside a println!. Whoops.
2023-02-09 21:35:12 -03:00
Lux Aliaga 4427dadcfc
src: bin: Remove unused crates
After refactoring the compiler started warning about some crates that
were unused, so I removed them.
2023-02-09 21:30:09 -03:00
Lux Aliaga 9e5e0716d1
src: Error refactoring on vento CLI
Since many of the errors were being reiterated in the files for the
binaries I've decided to refactor them so we borrow which errors we want
to show from an enum and then execute a function which essentially bails
and matches each error.
2023-02-09 21:10:39 -03:00
Lux Aliaga 986c0f7f20
help: Update year in copyright notice
Since we're not in 2022 anymore and I'll be working further on this
later, I'm extending the year in the copyright notice to 2023.
2023-02-09 12:03:01 -03:00
Lux Aliaga 833669af3c
item: Add slot to take/drop messages
To be more consistent with undo messages, I've added the slot in which
items are involved to take and drop messages. Simple as that.
2022-11-07 18:18:25 -03:00
Lux Aliaga ef3dcf8acc
inv: Emoji consistency
The slot switching action had a different emoji for confirming the
command was successful compared to other actions, so I switched it for
the green checkmark.
2022-11-03 21:15:00 -03:00
Lux Aliaga 1cbfc5a568
history: Nicer messages for undo result
It includes more details such as:
- What action was undone
- What item was affected in the action
- What that action involved
2022-11-03 21:06:28 -03:00
Lux Aliaga 19aa1955c8
inv: Add "message" arg to slot switching
When undoing a slot switching command, it would show the message
normally show when running the command by itself, which is not supposed
to happen. This commit fixes that by adding a boolean argument that will
print the message when true.
2022-11-03 19:42:39 -03:00
Lux Aliaga c1533e6b41
inv: Include slot switching in undoable actions
Turns out the history didn't include undoing slot switching, so an
action could accidentally be undone in the wrong slot. I've fixed that
and also reorganized the source so undoing actions wouldn't be pegged to
the item module.
2022-11-03 19:26:15 -03:00
Lux Aliaga 6ad43bbf82
src: Remove periods from end of sentences
For many messages there were some consistency issues in terms of
punctuation. I've fixed this issue by removing every period from every
sentence.
2022-11-03 19:08:50 -03:00
Lux Aliaga 4f0c52ac16
doc: Add "vento -u" to documentation
I was about to release v1.1.0 until I forgot this command was completely
undocumented, so here it is.
2022-10-26 17:02:23 -03:00
Lux Aliaga 69ce377ec1
src: Improve documentation
Also removes an extra unnecessary comma.
2022-10-26 16:49:45 -03:00
Lux Aliaga 26699fe765
item: Implement undo command
Brand new feature! Now you can easily undo your last action using "vento
-u". While not a fully-fledged history, if you messed something up
during your last action, you can now easily undo it! Thank you
@Ephera@lemmy.ml for the suggestion!
(https://slrpnk.net/post/103331/comment/24020)
2022-10-26 16:37:52 -03:00
Lux Aliaga f8750f3515
item: Store last action
This is part of a user-suggested feature made by @Ephera@lemmy.ml over
on Lemmy (https://slrpnk.net/post/103331/comment/24020). It stores the
last action so it can later be undone by the user. Maybe if I feel
generous I might store a longer history in an SQLite database, but for
now a simple text file will do. The command for undoing will follow.
2022-10-24 17:57:46 -03:00
Lux Aliaga 5f5ae6e41e
src: Removed redundant clones
These suggestions were made by cargo clippy. These clones were
previously there to remove compiler messages, but it seems like they're
not needed anymore.
2022-10-23 12:54:23 -03:00
Lux Aliaga 839d4dcc76
item: Added take and drop messages
This was suggested by @Ephera@lemmy.ml on Lemmy
(https://slrpnk.net/post/103331/comment/24020) and I've decided to
implement it, since it's not really a hard thing to do and makes the
tool more intuitive.
2022-10-23 11:11:52 -03:00
Lux Aliaga 5e05bfa2ef
src: Removed unnecessary contexts
This commit should remove some contexts that actually made some errors
more difficult to read. They will now display the idiomatic errors
generated by anyhow.
2022-10-17 19:56:23 -03:00
Lux Aliaga d51163ef09
common: Use struct to deliver settings
After learning more about structs, I've decided to try and use them in
the common module. It replaces the original behavior of delivering the
data using a vector in favor of the Settings struct, also defined on the
same file.
2022-10-17 18:11:38 -03:00
Lux Aliaga 4712c67bc2
src: Implemented clippy recommendations
Should make some code look less silly.
2022-10-01 17:38:14 -03:00
Lux Aliaga a98a8147e9
item: Fix taking files recursively
This should fix an issue which made it impossible to take files from
directories other than the one the user is sitting at.
2022-09-27 21:23:43 -03:00
Lux Aliaga 6ec32037db
src: Code comments and cleanup
Basically some last refinements to make the code look a bit more
readable and presentable.
2022-09-27 20:05:08 -03:00
Lux Aliaga 6fa0cba8ca
item: Pre-init error handling
Also adds another error handler for invalid slots. Solves #8.
2022-09-27 19:38:44 -03:00
Lux Aliaga 45dfcc9f19
fixup! src: Universal error handling 2022-09-27 19:29:54 -03:00
Lux Aliaga 8fe5bca167
src: Universal error handling
This commit should unify the way Vento handles errors. Solves #7.
2022-09-27 19:16:18 -03:00
Lux Aliaga 3cd5ad758c
common: Add custom config
This should allow users to customize the location for their Vento
directory by modifying a single key in vento.toml. More information is
available in the manual page for vento.toml. Powered by config-rs.
Solves #4.
2022-09-26 23:58:42 -03:00
Lux Aliaga ac986f8822
vento: The BIG commit
Since I worked on a LOT of stuff here, it's quite hard for me to
separate every change I've done. Take this as one huge refactor, which
includes:
- Changing the syntax of the Vento command
- Separating Vento into three binaries: vento, take, drop
- Moving the help messages into a new file called help.rs
- Removing unnecessary format macros
- Changing expect macros to context, for better anyhow compatibility
- Updating the documentation for these changes.
2022-09-26 16:58:33 -03:00
Lux Aliaga 76ad4aad5a
src: Better error handling
Should make it more Rusty™. Solves #2. Thank you @j0 for the help. (i'm
big stupid lol)
2022-09-19 00:31:30 -03:00
Lux Aliaga d24727d301
inv: Prevent non-files from displaying file size
Maybe for folders I could later add a folder size but the method I'm
using to calculate file sizes doesn't work with folders, so yeah.
2022-09-18 00:35:50 -03:00
Lux Aliaga d11a200d6f
inv: Added directory listing
Now you can list the contents of directories with the list command!
2022-09-18 00:31:23 -03:00
Lux Aliaga 6c51a8da6e
inv: Show new message if inventory is empty
Basically so it looks less dumb if there aren't any items in the
inventory the user asked to list.
2022-09-17 22:53:44 -03:00
Lux Aliaga 445b5b1671
inv: Add directory count to inventory list
This commit modifies the spacing before an item in the inventory list.
2022-09-17 22:43:34 -03:00
Lux Aliaga 6c10953e88
inv: Add file size to inventory list
This commit also improves formatting in the inventory list.
2022-09-17 18:33:40 -03:00
Lux Aliaga 30f99bbda4
inv: Add file types to inventory list
This will be specially useful once we can access directories from vento
list. For now it still serves the function of letting the user know some
basic metadata about the files they're keeping in their inventory
2022-09-17 17:27:33 -03:00
Lux Aliaga c2e276c6e2
src: Code cleanup
To demessify the project I've decided to clean the code a bit and make
it a little less painful to see. The main change here is that instead of
defining every single time the active and inactive directories it calls
it from a vector in common.rs, which is cleaner and allows for easily
implementing a config file to customize those values later on. Also,
version bump!
2022-09-17 05:49:52 -03:00
Lux Aliaga 38e8627bc2 src: Added comments
Just so I don't get lost later lol
2022-09-15 00:47:13 -03:00
Lux Aliaga 68223011da main: Command shortcodes
This commit adds shorter versions of commands, so you can save time!
2022-09-15 00:22:49 -03:00
Lux Aliaga 7e547e40fc common: Changed exit code from 0 to 1.
Since the script exits with an error, it's better to make Vento exit
with an error code instead of 0.
2022-09-15 00:13:02 -03:00
Lux Aliaga 961a30b47b main: Removed PathBuf from dependencies
This should suppress a warning indicating this exact issue
2022-09-15 00:10:19 -03:00
Lux Aliaga 6d10d77fbe fixup! fixup! item: Implement taking files 2022-09-14 23:59:57 -03:00
Lux Aliaga 50d8318d13 fixup! item: Implement file dropping 2022-09-14 23:54:57 -03:00