24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-07-19 00:11:01 +02:00
xmpp.chapril.org-ejabberd/tools/rebar3-format.sh

35 lines
761 B
Bash
Executable File

#!/bin/bash
# To start formatting a file, add a line that contains:
# @format-begin
# Formatting in that file can later be disabled adding another line with:
# @format-end
#
# It can be reenabled again later in the file.
#
# Finally, call: make format
REBAR=$1
ERLS=$(git grep --name-only @format-begin src/)
for ERL in $ERLS; do
csplit --quiet --prefix=$ERL-format- $ERL /@format-/ "{*}"
done
EFMTS=$(find src/*-format-* -type f -exec grep --files-with-matches "@format-begin" '{}' ';')
EFMTS2=""
for EFMT in $EFMTS; do
EFMTS2="$EFMTS2 --files $EFMT"
done
$REBAR format $EFMTS2
for ERL in $ERLS; do
SPLITS=$(find $ERL-format-* -type f)
rm $ERL
for SPLIT in $SPLITS; do
cat $SPLIT >> $ERL
rm $SPLIT
done
done