11f5207b7SJohn Levon#!/bin/bash 21f5207b7SJohn Levon 31f5207b7SJohn Levonprint_help() 41f5207b7SJohn Levon{ 51f5207b7SJohn Levon echo "usage: $0 <warning file>" 61f5207b7SJohn Levon exit 1; 71f5207b7SJohn Levon} 81f5207b7SJohn Levon 91f5207b7SJohn Levonset_title() 101f5207b7SJohn Levon{ 111f5207b7SJohn Levon echo -ne "\033]0;$*\007" 121f5207b7SJohn Levon echo ======================================== 131f5207b7SJohn Levon echo $* 141f5207b7SJohn Levon echo ---------------------------------------- 151f5207b7SJohn Levon} 161f5207b7SJohn Levon 171f5207b7SJohn Levoncmd_help() 181f5207b7SJohn Levon{ 191f5207b7SJohn Levon echo "n - skips to next message" 201f5207b7SJohn Levon echo "f - skips to next file" 211f5207b7SJohn Levon echo "? - print this message again" 221f5207b7SJohn Levon} 231f5207b7SJohn Levon 241f5207b7SJohn Levonsave_thoughts() 251f5207b7SJohn Levon{ 261f5207b7SJohn Levon echo "************" 271f5207b7SJohn Levon echo $sm_err 281f5207b7SJohn Levon echo -n "What do you think?: " 291f5207b7SJohn Levon read ans 301f5207b7SJohn Levon if echo $ans | grep ^$ > /dev/null ; then 31c85f09ccSJohn Levon return 32*6523a3aaSJohn Levon fi 331f5207b7SJohn Levon 341f5207b7SJohn Levon #store the result 351f5207b7SJohn Levon echo $sm_err >> summary 361f5207b7SJohn Levon echo $ans >> summary 371f5207b7SJohn Levon echo ========== >> summary 381f5207b7SJohn Levon} 391f5207b7SJohn Levon 401f5207b7SJohn Levonif [ "$1" = "--new" ] ; then 411f5207b7SJohn Levon shift 421f5207b7SJohn Levon NEW=Y 431f5207b7SJohn Levonfi 441f5207b7SJohn Levon 451f5207b7SJohn Levonfile=$1 461f5207b7SJohn Levonif [ "$file" = "" ] ; then 471f5207b7SJohn Levon if [ -e err-list ] ; then 481f5207b7SJohn Levon file="err-list" 491f5207b7SJohn Levon else 501f5207b7SJohn Levon print_help 511f5207b7SJohn Levon fi 521f5207b7SJohn Levonfi 531f5207b7SJohn Levon 541f5207b7SJohn LevonTXT=$(cat $file | uniq -f 2) 551f5207b7SJohn Levon 561f5207b7SJohn LevonIFS=' 571f5207b7SJohn Levon' 581f5207b7SJohn Levonfor sm_err in $TXT ; do 591f5207b7SJohn Levon file=$(echo $sm_err | cut -d ':' -f 1) 601f5207b7SJohn Levon line=$(echo $sm_err | cut -d ' ' -f 1 | cut -d ':' -f 2) 611f5207b7SJohn Levon 621f5207b7SJohn Levon if [ "$file" = "$skip_file" ] ; then 631f5207b7SJohn Levon continue 641f5207b7SJohn Levon fi 651f5207b7SJohn Levon skip_file="" 661f5207b7SJohn Levon 671f5207b7SJohn Levon last=$(echo $sm_err | cut -d ' ' -f 2-) 681f5207b7SJohn Levon last=$(echo $last | sed -e 's/line .*//') 691f5207b7SJohn Levon 701f5207b7SJohn Levon if [ "$NEW" = "Y" ] ; then 711f5207b7SJohn Levon if grep -F "$last" *summary* > /dev/null ; then 721f5207b7SJohn Levon echo "skipping $sm_err" 731f5207b7SJohn Levon continue 741f5207b7SJohn Levon fi 751f5207b7SJohn Levon fi 761f5207b7SJohn Levon 771f5207b7SJohn Levon set_title $sm_err 781f5207b7SJohn Levon 79*6523a3aaSJohn Levon #grep -A1 "$file $line" *summary* 2> /dev/null 801f5207b7SJohn Levon grep -A1 -F "$last" *summary* 2> /dev/null 811f5207b7SJohn Levon 821f5207b7SJohn Levon ans="?" 831f5207b7SJohn Levon while echo $ans | grep '?' > /dev/null ; do 841f5207b7SJohn Levon echo -n "[? for help]: " 851f5207b7SJohn Levon read ans 861f5207b7SJohn Levon if echo $ans | grep n > /dev/null ; then 871f5207b7SJohn Levon continue 2 881f5207b7SJohn Levon fi 891f5207b7SJohn Levon if echo $ans | grep f > /dev/null ; then 901f5207b7SJohn Levon skip_file=$file 911f5207b7SJohn Levon continue 2 921f5207b7SJohn Levon fi 931f5207b7SJohn Levon if echo $ans | grep '?' > /dev/null ; then 941f5207b7SJohn Levon cmd_help 951f5207b7SJohn Levon fi 961f5207b7SJohn Levon done 971f5207b7SJohn Levon 981f5207b7SJohn Levon # I have this in my .vimrc 991f5207b7SJohn Levon # map <C-j> :! echo $sm_err<CR> 1001f5207b7SJohn Levon export sm_err 1011f5207b7SJohn Levon 1021f5207b7SJohn Levon vim $file +${line} 1031f5207b7SJohn Levon 1041f5207b7SJohn Levon save_thoughts 105*6523a3aaSJohn Levondone 1061f5207b7SJohn LevonIFS= 107