The new database system uses SQLite3, and allows users to move across
a linear history of their actions, including moving forward from a
previous action. Whenever a user runs a new action, the actions after
the current position within the history will be removed.
It is implied that if you're working without the slot argument you are
working with the active slot, therefore it's not needed for the message
to output that.
This has been an idea that has been on my mind for a bit. My argument
parser was very complex and hard to maintain. Therefore, I've decided
to refactor them using the Clap crate, which should make this more
straight forward.
I passed the file through rustfmt and rust-clippy in order to fulfill
some suggestions. Didn't do this before because I didn't have these
utilities in hand, but here we go!
This works using the override_color() function within common.rs, which,
using colored's set_override function and if set to false in the config
file, will disable all coloring within the program, in case your
terminal isn't that fancy.
Errors and messages will now be handled by a single module called
message.rs. This module has a new function called append_emoji(), which
will prefix emojis to each message. It also adds an enum named
EmojiType, which will contain each possible emoji prefix. Lastly, add
two new configs: "display_emoji" and "display_colors". "display_colors"
is yet to be implemented.
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.
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)
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.