From abe9c7d1fb4b2eee8016c698443d920ed58a8310 Mon Sep 17 00:00:00 2001 From: schreifuchs Date: Sat, 4 Jan 2025 17:58:53 +0100 Subject: [PATCH] update readme --- README.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a8c9033..1f23e9b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,51 @@ -# pat +# 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. + + + +