2016-01-19 00:38:49 +01:00
#!/bin/bash
2016-01-19 09:15:30 +01:00
DIR = ` dirname $0 `
2016-01-19 00:38:49 +01:00
EXIT_CODE = 0
2016-01-19 09:15:30 +01:00
go build -o $DIR /spell-checker $DIR /spell-checker.go
2016-01-19 09:42:31 +01:00
2016-01-19 16:25:59 +01:00
cat $DIR /dictionary.dic | tr '\n' '|' | sed 's/\x27/\\x27/g' > dictionary_processed
DICT_REGEXP = $( cat dictionary_processed | sed 's/|/[^[:alnum:]]\\|/g' )
DICT_REGEXP_EOF = $( cat dictionary_processed | sed 's/|$//g' | sed 's/|/$\\|/g' )
DICT_REGEXP = " $DICT_REGEXP $DICT_REGEXP_EOF $"
2016-01-19 13:50:18 +01:00
2016-01-19 14:53:23 +01:00
git diff HEAD^ --name-status | grep "^D" -v | sed 's/^.\t//g' > changed_files
2016-01-19 00:38:49 +01:00
while read FILE; do
echo -n " Проверка файла $FILE на опечатки... " ;
2016-01-19 21:41:43 +01:00
OUTPUT = $( cat " $FILE " | sed " s/ $DICT_REGEXP //gi " | sed 's/https\?:[^ ]*//g' | sed "s/[(][^)]*\.md[)]//g" | hunspell -d russian-aot,ru_RU,de_DE,en_US | $DIR /spell-checker) ;
2016-01-19 16:36:03 +01:00
OUTPUT_EXIT_CODE = $?
2016-01-19 00:38:49 +01:00
2016-01-19 16:36:03 +01:00
if [ $OUTPUT_EXIT_CODE -ne 0 ] ; then
EXIT_CODE = 1
2016-01-19 00:38:49 +01:00
echo "ошибка" ;
2016-01-19 16:25:59 +01:00
echo " $OUTPUT " ;
2016-01-19 00:38:49 +01:00
else
echo "пройдена" ;
fi
2016-01-19 09:42:31 +01:00
echo
2016-01-19 00:38:49 +01:00
done < changed_files
2016-01-19 09:52:01 +01:00
exit $EXIT_CODE