-
Notifications
You must be signed in to change notification settings - Fork 0
/
quickcomms
139 lines (111 loc) · 3.16 KB
/
quickcomms
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/bin/bash
# .
# Programmauswahlunterstuetzung:
# eine Liste von Kommandos sind durch Auswahl ausfuerhbar
# Interaktive Eingabe erolgt mit
# Auswahlkuerzel weitere Argumente <Return>
# Ende mit <return>
# Vor der Abfrage werden die Zeilen ausgegeben, die
# die Zeichen "#" und ":" direkt aufenanderfolgend enthalten
current=`pwd -P`
protdatum=`date +%y.%m.%d-%H.%M.%S`
argcommand=$1
shift
args=$*
file=$0
if test "$argcommand" = "" ; then
echo -e -n "\e[38;5;54m"
grep "#\:" $file | sed "s/#\://g"
echo -e -n "\e[0m\n";
fi
# Annahme quickcom liegt im root des gitverzeichnises:
gitverzeichnis=`dirname $file`
#--------------------------------------------------
# berechnet die Dauer einer Action (aus $start und $command)
function duration() {
end=`date +%s`;
sec=`echo $end - $start | bc`
echo "Command" $command $args "dauerte" `date -u -d @$sec +%X` "sek. um" `date +%R` "Uhr"
}
start=`date +%s`
#:------------------------------------------
#:Shortcuts fuer wichtige Kommandos:
#:
while true; do
if test "$argcommand" = "" ; then
p=`pwd`
read -p "=WEB==> " command args
else
command=$argcommand
fi
start=`date +%s`
# echo command: $command
# echo args: $args
case $command in
#--------------------------------------------------
!) #:shell escape
$args ;;
o) #: observe pipeline states (once)
observePipelineStates -o
;;
ow) #: observe pipeline states in window on its own
observePipelineStates
;;
gu) #: update: (git fetch && git pull)
( git fetch && git pull --no-rebase; ) 2>&1 | highlighterrors
;;
gc) #: commit: (git commit -am "from quickcom" && git push)
( git commit -am "from quickcom" && \
git push ; ) 2>&1 | highlighterrors
;;
#:------------------------------------------
e) #: Which essays are not yet in the Essay-list?
cd $gitverzeichnis/shared_pages/
for i in essay/*md ; do
icore=/`dirname $i`/`basename $i .md`/
### echo ------------ $icore
### grep $icore essays.md
### echo ..........
# 2 mal ist gut, (permalink + liste)
occurrences="`grep $icore essays.md | wc -l`"
if test "$occurrences" -eq 2; then
echo "ok " $icore
elif test "$occurrences" -eq 1; then
echo "ERROR(1 ONLY)" $icore
else
echo "missing" $icore
fi
done
echo
cd $current
;;
t) #: TODO, todo, FIXME, fixme
echo ------- TODO und FIXME
cd $gitverzeichnis/
for t in TODO todo ToDo Todo FixMe Fixme FIXME fixme ; do
# echo ---- $t
grep -s --directories=recurse "$t" . | grep -v `basename $0` | grep -v assets/css/ \
| grep -v assets/js/ | grep -v assets/fonts/
done
echo
cd $current
;;
#--------------------------------------------------
#:x) oder "") Ende der Bearbeitung
x|"") echo thanks
exit ;;
# Hilfe nochmal ausgeben
*) echo "Kommando nicht erkannt."
echo -e -n "\e[38;5;54m"
grep "#\:" $file | sed "s/#\://g"
echo -e -n "\e[0m\n";
;;
#--------------------------------------------------
esac
duration
# Stop if batchmode:
if test "$argcommand" != "" ; then
exit;
fi
done
#--------------------------------------------------