Version 0.1.0 - Initial Release
Pre-release
Pre-release
File Aggregator
This is the initial release of File Aggregator. A utility for aggregating and distributing file contents. It allows you to combine file contents from a specified directory into a single text, which is copied to the clipboard. You can also distribute file contents from the clipboard back to their respective files based on the relative paths.
Features
- Aggregate File Contents: Combine the contents of multiple files from a specified directory into a single text.
- Distribute File Contents: Distribute the contents from the clipboard back into their respective files based on relative paths.
- Clipboard Integration: Copy the aggregated contents directly to the clipboard for easy sharing.
- Path and Extension Filtering: Specify the root path and file extensions to include or exclude certain files.
Installation
-
Clone the repository:
git clone https://github.com/bornacvitanic/file_aggregator.git cd file_aggregator -
Build the project:
cargo build --release
Usage
fileagg [COMMAND]
Commands
aggregate: Aggregates file contents.distribute: Distributes file contents.help: Print this message or the help of the given subcommand(s).
Options
-p, --path <PATH>: The path to use for the operation. If not specified, defaults to the current directory.-e, --extensions <EXTENSIONS>: A comma-separated list of file extensions to include. If not specified, all files are included.
Examples
-
Aggregate file contents:
fileagg aggregate --path "/path/to/directory" --extensions "rs,txt,md"
-
Distribute file contents:
fileagg distribute --path "/path/to/directory"
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
- clap - Library for command-line interface (CLI) parsing
- walkdir - Library for recursive directory traversal
- copypasta - Library for clipboard access
Contact
- Email: borna.cvitanic@gmail.com
- GitHub Issues: GitHub Issues Page