diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2024-03-25 09:33:36 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2024-03-25 09:33:36 +0100 |
| commit | b3a0caa1094120a231f110c9fce53b6fb51d3a76 (patch) | |
| tree | 21687f40c4555d8943201fd2cfe0ff2815092c25 | |
| parent | c753cb09fa29b86664f7e61c6cace60db57aa002 (diff) | |
| download | scripts-b3a0caa1094120a231f110c9fce53b6fb51d3a76.tar.gz scripts-b3a0caa1094120a231f110c9fce53b6fb51d3a76.zip | |
Added repl to alg
Diffstat (limited to '')
| -rwxr-xr-x | alg | 101 |
1 files changed, 56 insertions, 45 deletions
| @@ -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 | ||
| 8 | usage() { | 8 | usage() { |
| 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 | ||
| 12 | default_editor=vi | 12 | default_editor=vi |
| @@ -137,51 +137,62 @@ showall_w() { | |||
| 137 | done | 137 | done |
| 138 | } | 138 | } |
| 139 | 139 | ||
| 140 | if [ "$1" = "edit" ]; then | 140 | run() { |
| 141 | editor="$default_editor" | 141 | if [ "$1" = "edit" ]; then |
| 142 | shift | 142 | editor="$default_editor" |
| 143 | else | 143 | shift |
| 144 | editor="cat" | ||
| 145 | fi | ||
| 146 | |||
| 147 | type="$1" | ||
| 148 | if [ -z "$3" ]; then | ||
| 149 | letters="$2" | ||
| 150 | else | ||
| 151 | letters="$3" | ||
| 152 | cbuffer="$2" | ||
| 153 | ebuffer="$2" | ||
| 154 | wbuffer="$2" | ||
| 155 | fi | ||
| 156 | |||
| 157 | letter1="$(echo "$letters" | cut -c 1)" | ||
| 158 | letter2="$(echo "$letters" | cut -b 2)" | ||
| 159 | |||
| 160 | [ -z "$letter1" ] && usage && exit 1 | ||
| 161 | |||
| 162 | case "$type" in | ||
| 163 | c) | ||
| 164 | if [ -n "$letter2" ]; then | ||
| 165 | edit corners $cbuffer $(corner $letter1) $(corner $letter2) | ||
| 166 | else | ||
| 167 | showall_c $cbuffer $letter1 | ||
| 168 | fi | ||
| 169 | ;; | ||
| 170 | e) | ||
| 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 | |
| 177 | w) | 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 | |
| 187 | esac | 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 | |||
| 192 | if [ -n "$1" ]; then | ||
| 193 | run $@ | ||
| 194 | else | ||
| 195 | while read -r args; do | ||
| 196 | run $args | ||
| 197 | done | ||
| 198 | fi | ||
