A lightning-fast file concatenation tool written in Rust that allows you to combine multiple files with powerful filtering capabilities.
- 🚀 Fast and memory-efficient file processing
- 📁 Recursive directory scanning
- 🔍 Filter files by extensions
- ⛔ Exclude files using glob patterns
- 🎯 Optional inclusion of files without extensions
- 🌈 Colorized output for better readability
- 📊 Progress bar for large operations
- ⚡ Asynchronous file reading
cargo install fscat
Basic usage:
fscat /path/to/directory
USAGE:
fscat [OPTIONS] <PATH>
ARGS:
<PATH> Directory to scan for files
OPTIONS:
-e, --ext <EXTENSIONS> File extensions to include (comma-separated)
Example: -e js,ts,jsx
-x, --exclude <PATTERNS> Patterns to exclude (comma-separated)
Example: -x "node_modules,**/test/**"
-n, --include-no-ext Include files without extensions
-h, --help Print help information
-V, --version Print version information
- Concatenate all JavaScript files:
fscat -e js /path/to/project
- Concatenate JavaScript and TypeScript files, excluding tests:
fscat -e js,ts -x "**/test/**,**/*.test.*" /path/to/project
- Include files without extensions:
fscat -e js,ts -n /path/to/project
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.