ale/stdin-wrapper

24 lines
660 B
Plaintext
Raw Normal View History

#!/usr/bin/env bash
# Authors: w0rp <devw0rp@gmail.com>, hauleth <lukasz@niemier.pl>
2016-10-03 18:20:13 +00:00
# Description: This script implements a wrapper for any program which does not accept
# stdin input on most Unix machines. The input to the script is read to a
# temporary file, and the first argument sets a particular file extension
# for the temporary file.
set -eu
2016-10-03 18:20:13 +00:00
# All of the following arguments are read as command to run.
file_extension="$1"
shift
temp_dir=$(mktemp -d 2>/dev/null || mktemp -d -t 'ale_linter')
temp_file="$temp_dir/file$file_extension"
trap 'rm -r "$temp_dir"' EXIT
while read -r; do
echo "$REPLY" >> "$temp_file"
done
"$@" "$temp_file"