xswag-base 0.3.0

Basic functionality of xswag system
Documentation
#!/bin/bash

# config
COLS=100
FOLDER="."
FILES="*.rs"


# Exit script on the first error
set -o errexit -o nounset

ERROR=0
### Trailing Whitespaces ===========================
echo ""
echo "=== Searching for lines with trailing whitespace... ==================="
if egrep --include $FILES -rHn " +$" $FOLDER ; then
    echo ""
    echo "!!! Some lines were found. Please remove the trailing whitespace!"
    ERROR=1
else
    echo "=== None found! :-)"
fi


### Trailing newlines ===============================
echo ""
echo "=== Searching for files without trailing newline... ==================="
FOUND=0
for f in $(find $FOLDER -name $FILES); do
    lastline=$(tail -n 1 $f; echo x)
    lastline=${lastline%x}
    if [ "${lastline: -1}" != $'\n' ] ; then
        echo "! Has no single trailing newline: $f"
        FOUND=1
    fi
done

if [ $FOUND -eq 0 ] ; then
    echo "=== None found! :-)"
else
    echo ""
    echo "!!! Some files were found. Please add a single trailing newline!"
    ERROR=1
fi


### char limit ===================================
echo ""
echo "=== Searching for files with too long lines... ========================"
FOUND=0
for f in $(find $FOLDER -name $FILES); do
    if [ $(wc -L $f | cut -d" " -f1) -gt $COLS ] ; then
        echo "! Line with more than $COLS chars in $f"
        FOUND=1
    fi
done

if [ $FOUND -eq 0 ] ; then
    echo "=== None found! :-)"
else
    echo ""
    echo "!!! Some files were found. Please shorten those lines!"
    ERROR=1
fi

test $ERROR == 0