#concatenate #file #concat #utility #cli

app fscat

A fast and flexible file concatenation tool with powerful filtering capabilities

1 unstable release

new 0.1.0 Dec 18, 2024

#450 in Command line utilities

MIT license

12KB
179 lines

fscat 🐱

A lightning-fast file concatenation tool written in Rust that allows you to combine multiple files with powerful filtering capabilities.

Features ✨

  • 🚀 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

Installation 📦

cargo install fscat

Usage 🛠️

Basic usage:

fscat /path/to/directory

Options

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

Examples 📝

  1. Concatenate all JavaScript files:
fscat -e js /path/to/project
  1. Concatenate JavaScript and TypeScript files, excluding tests:
fscat -e js,ts -x "**/test/**,**/*.test.*" /path/to/project
  1. Include files without extensions:
fscat -e js,ts -n /path/to/project

Contributing 🤝

Contributions are welcome! Please feel free to submit a Pull Request.

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~8–16MB
~211K SLoC