-
Notifications
You must be signed in to change notification settings - Fork 1
/
totext.sh
29 lines (26 loc) · 1.05 KB
/
totext.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
# Create or clear the output file
output_file="all.md"
> "$output_file"
# Append the `tree` command output with a max depth of 3
echo "Directory tree with max depth of 3:" >> "$output_file"
echo '```' >> "$output_file"
tree -L 5 -I build >> "$output_file"
echo '```' >> "$output_file"
echo -e "\n\n" >> "$output_file"
# Find and process relevant files, excluding those in /build/ directories
find . -type f \( -name "*.kt" -o -name "*.md" -o -name "*.yml" -o -name "*.kts" -o -name "*.sh" -o -name "template.env" -o -name "Dockerfile" \) ! -path "*/build/*" | while IFS= read -r file; do
# skip the current file
if [ "$file" == "./all.md" ]; then
continue
fi
echo "#### File: \`$file"\` >> "$output_file"
echo '```' >> "$output_file"
echo -e "\n" >> "$output_file"
cat "$file" >> "$output_file"
echo -e "\n" >> "$output_file"
echo '```' >> "$output_file"
echo -e "\n\n" >> "$output_file" # Adding newlines to separate file contents
done
# copy all.md contents to clipboard with xclip
cat "$output_file" | xclip -selection clipboard