1 unstable release
0.1.0 | Dec 12, 2023 |
---|
#2292 in Command line utilities
14KB
217 lines
Rustag
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.
Features
- File Tagging: Assign custom tags to your files for easy organization.
- Fuzzy Search: Easily find your files using a fuzzy search interface.
- File Management: Open files or their containing folders directly from the command line.
Installation
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.
Setup
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.
Usage
Tagging a File
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.
Retrieving Files
To view and open files associated with a tag:
- Run Rustag without any arguments.
- Select a tag from the list.
- Choose a file to open or a related action.
Data Structure
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 multipleAGFile
instances.AGTagList
: Manages the collection of tags and their associated files.
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
Dependencies
~3–11MB
~109K SLoC