#!/bin/bash server="$1" make="$2" target="$3" error_filter="$4" makeef=/tmp/errors.vim { touch "$makeef" if [ "$target" == "" ]; then make_out="$("$make" 2>&1)" else make_out="$("$make" "$target" 2>&1)" fi make_success="$?" echo "$make_out" | "$error_filter" >> "$makeef" if [ "$make_success" -eq 0 ]; then vim --servername "$server" --remote-send \ ":cgetfile $makeef | redraw! | echomsg \"Build successful!\"" else vim --servername "$server" --remote-send \ ":cgetfile $makeef | redraw! | echomsg \"Build failed!\"" fi sleep 2 && rm "$makeef" } &