Rustag, a Rust-built command-line tool, simplifies file organization through custom tagging and swift fuzzy search, enhancing file management directly from your terminal.
APACHE-2.0 License
Rustag is a Rust-based command-line tool for organizing and tagging files on your system. It allows users to tag files with custom labels and retrieve them easily using a fuzzy search interface.
To install Rustag, ensure you have Rust and Cargo installed on your system. Then run the following command:
cargo install rustag
And for additional features, add the following to your ~/.bashrc
or ~/.zshrc
:
rtg() {
RUSTAG=$(rustag $@)
# RUSTAG contains "Error" then just print else cd $(RUSTAG)
if [[ $RUSTAG == *"Error"* ]]; then
echo $RUSTAG
else
cd $RUSTAG
fi
}
Then run rtg
to get started.
Upon first run, Rustag will create a .rustag
directory in your home folder to store its data. This includes a tagfile
that maintains the tag information.
To tag a file, run Rustag with the file name as an argument:
rtg filename.ext
Follow the prompts to select existing tags or create a new one.
To view and open files associated with a tag:
Rustag uses several custom data structures:
AGFile
: Represents a tagged file, including metadata such as creation date and file path.AGTag
: Represents a tag, associated with multiple AGFile
instances.AGTagList
: Manages the collection of tags and their associated files.Contributions are welcome! Feel free to open issues or submit pull requests.