Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified filename_formatter.sh
100755 → 100644
Empty file.
2 changes: 1 addition & 1 deletion formatter/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ runs:
- name: Running the formatter
shell: bash
run: |
./filename_formatter.sh ${{ inputs.working-directory }} ${{ inputs.filetypes }} ${{ inputs.ignore-files }}
filename_formatter.sh ${{ inputs.working-directory }} ${{ inputs.filetypes }} ${{ inputs.ignore-files }}
- name: Committing changes
shell: bash
run: |
Expand Down
60 changes: 60 additions & 0 deletions formatter/filename_formatter.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/bin/bash

echo -e "Arguments:
[0] - Used by Bash (script filename)
[1] - Base directory
[2] - Filename type (maximum two values)
[3] - Ignored files or folders (optional; use "\""./<directory_name>"\"")
"

# Separate $2 value (filename types) if it has a comma
if [[ "$2" == *","* ]];
then
string="$2"

str_value=${string#*,}
str_value2=${string%%,*}
else
str_value="$2"
str_value2="$2"
fi

# Do not run script if there are no given arguments.
if [[ "$1" == "" ]] || [[ "$2" == "" ]];
then
echo "No arguments given. Please specify minimum two arguments."
exit 1
fi

echo "Changed files:"

IFS=$'\n'; set -f
for fname in $(find $1 -type f -name "*$str_value2" -or -name "*$str_value")
do
ignored_files="$(echo "$3" | tr "," "\n")"

str="${fname}"
value=${str%/*} # If the base directory is `.`, check in all directories for the ignored filenames

for files in $ignored_files
do
if [ "${fname}" == "$value/$files" ] || [ "$value" == "$files" ];
then
continue 2
fi
done

#echo ${fname}
new_fname=$(echo "${fname}" | tr ' ' '_')
#echo " ${new_fname}"
new_fname=$(echo "${new_fname}" | tr '[:upper:]' '[:lower:]')
#echo " ${new_fname}"
new_fname=$(echo "${new_fname}" | tr '-' '_')
#echo " ${new_fname}"
if [ "${fname}" != "${new_fname}" ]
then
echo " ${fname} --> ${new_fname}"
git "mv" "${fname}" "${new_fname}" # Requires you to be in version control
fi
done
unset IFS; set +f