27 lines
621 B
Awk
27 lines
621 B
Awk
|
#!/bin/awk -f
|
||
|
|
||
|
BEGIN {
|
||
|
for (i = 1; i < ARGC; i++) {
|
||
|
options[i] = ARGV[i]
|
||
|
}
|
||
|
ARGC = 0
|
||
|
selected = 1
|
||
|
n = length(options)
|
||
|
|
||
|
while (1) {
|
||
|
printf "\r "
|
||
|
for (i = 1; i <= n; i++) {
|
||
|
if (i == selected)
|
||
|
printf "\033[44m%s\033[0m ", options[i]
|
||
|
else
|
||
|
printf "%s ", options[i]
|
||
|
}
|
||
|
if (c == 0) {
|
||
|
getline dir < "/dev/stdin"
|
||
|
print dir
|
||
|
if (dir == "up" && selected > 1) selected--
|
||
|
if (dir == "down" && selected < n) selected++
|
||
|
}
|
||
|
}
|
||
|
}
|