diff --git a/concat-for-context.sh b/concat-for-context.sh new file mode 100644 index 0000000..862373a --- /dev/null +++ b/concat-for-context.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +rm -f all.* + +find . -type f \( -name '*.go' -o -name '*.sql' \) -print | sort | while IFS= read -r file; do + # Skip files named all.* (case sensitive) + case "$(basename "$file")" in + all.*) continue ;; + esac + + # Choose comment style based on file extension + case "$file" in + *.go) + { + printf '\n// %s\n\n' "$file" + cat "$file" + printf '\n' + } >> all.go + ;; + *.sql) + { + printf '\n-- %s\n\n' "$file" + cat "$file" + printf '\n' + } >> all.sql + ;; + *) + { + printf '\n# %s\n\n' "$file" + cat "$file" + printf '\n' + } >> all.md + ;; + esac +done