aboutsummaryrefslogtreecommitdiff
path: root/alg
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2024-03-25 09:33:36 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2024-03-25 09:33:36 +0100
commitb3a0caa1094120a231f110c9fce53b6fb51d3a76 (patch)
tree21687f40c4555d8943201fd2cfe0ff2815092c25 /alg
parentc753cb09fa29b86664f7e61c6cace60db57aa002 (diff)
downloadscripts-b3a0caa1094120a231f110c9fce53b6fb51d3a76.tar.gz
scripts-b3a0caa1094120a231f110c9fce53b6fb51d3a76.zip
Added repl to alg
Diffstat (limited to '')
-rwxr-xr-xalg101
1 files changed, 56 insertions, 45 deletions
diff --git a/alg b/alg
index 7d81fd8..e3a53a9 100755
--- a/alg
+++ b/alg
@@ -6,7 +6,7 @@
6# Example: alg c UBL E - prints out all first algs for UBL-FDR-* 6# Example: alg c UBL E - prints out all first algs for UBL-FDR-*
7 7
8usage() { 8usage() {
9 echo "Usage: alg [edit] (c|e|w) [buffer] (1 letter|2 letters)" 9 echo "Usage: alg [[edit] (c|e|w) [buffer] (1 letter|2 letters)]"
10} 10}
11 11
12default_editor=vi 12default_editor=vi
@@ -137,51 +137,62 @@ showall_w() {
137 done 137 done
138} 138}
139 139
140if [ "$1" = "edit" ]; then 140run() {
141 editor="$default_editor" 141 if [ "$1" = "edit" ]; then
142 shift 142 editor="$default_editor"
143else 143 shift
144 editor="cat"
145fi
146
147type="$1"
148if [ -z "$3" ]; then
149 letters="$2"
150else
151 letters="$3"
152 cbuffer="$2"
153 ebuffer="$2"
154 wbuffer="$2"
155fi
156
157letter1="$(echo "$letters" | cut -c 1)"
158letter2="$(echo "$letters" | cut -b 2)"
159
160[ -z "$letter1" ] && usage && exit 1
161
162case "$type" in
163c)
164 if [ -n "$letter2" ]; then
165 edit corners $cbuffer $(corner $letter1) $(corner $letter2)
166 else
167 showall_c $cbuffer $letter1
168 fi
169 ;;
170e)
171 if [ -n "$letter2" ]; then
172 edit edges $ebuffer $(edge $letter1) $(edge $letter2)
173 else 144 else
174 showall_e $ebuffer $letter1 145 editor="cat"
175 fi 146 fi
176 ;; 147
177w) 148 type="$1"
178 if [ -n "$letter2" ]; then 149 if [ -z "$3" ]; then
179 edit wings $wbuffer $(wing $letter1) $(wing $letter2) 150 letters="$2"
180 else 151 else
181 showall_w $wbuffer $letter1 152 letters="$3"
153 cbuffer="$2"
154 ebuffer="$2"
155 wbuffer="$2"
182 fi 156 fi
183 ;; 157
184*) 158 letter1="$(echo "$letters" | cut -c 1)"
185 usage && exit 1 159 letter2="$(echo "$letters" | cut -b 2)"
186 ;; 160
187esac 161 [ -z "$letter1" ] && usage && exit 1
162
163 case "$type" in
164 c)
165 if [ -n "$letter2" ]; then
166 edit corners $cbuffer $(corner $letter1) \
167 $(corner $letter2)
168 else
169 showall_c $cbuffer $letter1
170 fi
171 ;;
172 e)
173 if [ -n "$letter2" ]; then
174 edit edges $ebuffer $(edge $letter1) $(edge $letter2)
175 else
176 showall_e $ebuffer $letter1
177 fi
178 ;;
179 w)
180 if [ -n "$letter2" ]; then
181 edit wings $wbuffer $(wing $letter1) $(wing $letter2)
182 else
183 showall_w $wbuffer $letter1
184 fi
185 ;;
186 *)
187 usage && exit 1
188 ;;
189 esac
190}
191
192if [ -n "$1" ]; then
193 run $@
194else
195 while read -r args; do
196 run $args
197 done
198fi

Generated with cgit - Back to sebastiano.tronto.net