Skip to content
/ Rustag Public

Rustag, a Rust-built command-line tool, simplifies file organization through custom tagging and swift fuzzy search, enhancing file management directly from your terminal.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

Axect/Rustag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

  1. Run Rustag without any arguments.
  2. Select a tag from the list.
  3. 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 multiple AGFile instances.
  • AGTagList: Manages the collection of tags and their associated files.

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

About

Rustag, a Rust-built command-line tool, simplifies file organization through custom tagging and swift fuzzy search, enhancing file management directly from your terminal.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages