# PAT ## What it Does `pat` is a command-line tool for concatenating and displaying the contents of files and directories. It: 1. Processes the specified files and directories recursively. 2. Appends content to a structured output with file paths and a delimiter for clarity. 3. Copies the resulting output to the system clipboard for convenient sharing or reuse. Example use case: - Aggregate and view the contents of multiple files or directories in one command. - Automatically copy the aggregated result to the clipboard for seamless integration with other tools or platforms. ## Dependencies 1. **Golang** (only to install / build): - The application requires the Go programming language (`>= 1.18`) to compile and run. - Dependency: `golang.design/x/clipboard` for clipboard interaction. 2. **External Tools**: - On Wayland-based systems, `wl-copy` must be installed for clipboard functionality. ## Installation Install go-cat directly using go install: ``` sh go install git.schreifuchs.ch/schreifuchs/pat@latest ``` The binary will be placed in your $GOPATH/bin directory. Ensure $GOPATH/bin is in your system's PATH to run it directly. ## Example Usage Concatenate files and directories: ```bash ./pat file1.txt folder/ ``` Output is printed to the terminal and copied to the clipboard, allowing you to paste it elsewhere. --- #### Notes - The tool uses `---------------------------------------------------------------------------` as a delimiter to separate file contents for readability. - If clipboard functionality fails (e.g., unsupported environment), the application will still display the result in the terminal.