new-words
changeset 21:190d4ac6b07c
-m and -n switches
author | Igor Chubin <igor@chub.in> |
---|---|
date | Thu May 06 21:05:20 2010 +0300 (2010-05-06) |
parents | 23f949c03f95 |
children | 46e987f4636d |
files | new-words.sh |
line diff
1.1 --- a/new-words.sh Wed Apr 28 21:00:38 2010 +0300 1.2 +++ b/new-words.sh Thu May 06 21:05:20 2010 +0300 1.3 @@ -13,6 +13,8 @@ 1.4 -h print this screen 1.5 -k put higher words that are similar to the known words (only for English) 1.6 -l lang override language settings 1.7 + -n non-interactive mode (don't run vi) 1.8 + -m don't add marks (and don't save marks added by user) 1.9 -s show the text statistics (percentage of known words and so on) and exit 1.10 1.11 The language of the text can be specified also 1.12 @@ -37,6 +39,9 @@ 1.13 export ORIGINAL_TEXT=`mktemp /tmp/new-words-XXXXXXXXXX-orig` 1.14 editor=${EDITOR:-vim} 1.15 1.16 +#---------------------------------------------------- 1.17 +# command line options processing 1.18 + 1.19 LANGUAGE=en 1.20 my_name="`echo $0 | sed s@.*/@@ | sed s/-.*// `" 1.21 if echo "$1" | grep -q http://...wikipedia.org/wiki/ 1.22 @@ -67,6 +72,22 @@ 1.23 shift 1.24 fi 1.25 1.26 +DONT_ADD_MARKS=NO 1.27 +if [ "$1" = "-m" ] 1.28 +then 1.29 + DONT_ADD_MARKS=YES 1.30 + shift 1.31 +fi 1.32 + 1.33 +NON_INTERACTIVE_MODE=NO 1.34 +if [ "$1" = "-n" ] 1.35 +then 1.36 + NON_INTERACTIVE_MODE=YES 1.37 + shift 1.38 +fi 1.39 + 1.40 +#---------------------------------------------------- 1.41 + 1.42 get_words() 1.43 { 1.44 tr ' ' '\n' | sed 's/--/ /g' \ 1.45 @@ -341,7 +362,7 @@ 1.46 } 1.47 } 1.48 } 1.49 -if (open(NOTES, $ENV{NOTES_FILE})) { 1.50 +if (($ENV{DONT_ADD_MARKS} ne "YES") and open(NOTES, $ENV{NOTES_FILE})) { 1.51 @lines=<NOTES>; 1.52 close(NOTES); 1.53 1.54 @@ -365,6 +386,7 @@ 1.55 PERL_SCRIPT 1.56 [ -e "$NOTES_FILE" ] || touch "$NOTES_FILE" 1.57 export NOTES_FILE 1.58 + export DONT_ADD_MARKS 1.59 perl $PERL_SCRIPT_TEMP_NAME "$1" 1.60 rm $PERL_SCRIPT_TEMP_NAME 1.61 } 1.62 @@ -395,8 +417,11 @@ 1.63 if [ "$STAT_ONLY" = "YES" ] 1.64 then 1.65 cat "$TEMP1" 1.66 +elif [ "$NON_INTERACTIVE_MODE" = "YES" ] 1.67 +then 1.68 + cat "$TEMP1" 1.69 else 1.70 - add_marks "$TEMP2" 1.71 + [ "$DONT_ADD_MARKS" = "YES" ] || add_marks "$TEMP2" 1.72 if [ "$editor" = vim ] 1.73 then 1.74 vim -c 'set keywordprg='"$LANGUAGE" -c 'set iskeyword=@,48-57,/,.,-,_,+,,,#,$,%,~,=' "$TEMP2" < /dev/tty > /dev/tty