Compare commits
2 commits
Author | SHA1 | Date | |
---|---|---|---|
ptrcnull | 58ac4a8b6b | ||
ptrcnull | b9b3f93f51 |
28
README.md
28
README.md
|
@ -4,12 +4,17 @@
|
|||
|
||||
a simple shift register built on piperw(1)
|
||||
|
||||
requirements:
|
||||
- execline (obviously)
|
||||
- s6-portable-utils (s6-expr, s6-ls, s6-tail)
|
||||
|
||||
### usage
|
||||
|
||||
```
|
||||
init-state <name>
|
||||
load-state <name> <target>
|
||||
save-state <name> <value>
|
||||
nuke-state <name>
|
||||
```
|
||||
|
||||
```sh
|
||||
|
@ -17,15 +22,18 @@ save-state <name> <value>
|
|||
|
||||
init-state flip
|
||||
save-state flip "up"
|
||||
forstdin -E line
|
||||
load-state flip current
|
||||
println "! state: $current"
|
||||
ifelse { s6-test "$line" = "flip" } {
|
||||
println "! flipping state"
|
||||
ifelse { s6-test "$current" = "up" } {
|
||||
save-state flip "down"
|
||||
foreground {
|
||||
forstdin -E line
|
||||
load-state flip current
|
||||
println "! state: $current"
|
||||
ifelse { s6-test "$line" = "flip" } {
|
||||
println "! flipping state"
|
||||
ifelse { s6-test "$current" = "up" } {
|
||||
save-state flip "down"
|
||||
}
|
||||
save-state flip "up"
|
||||
}
|
||||
save-state flip "up"
|
||||
}
|
||||
save-state flip "$current"
|
||||
save-state flip "$current"
|
||||
}
|
||||
nuke-state flip
|
||||
```
|
||||
|
|
12
nuke-state
Executable file
12
nuke-state
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/bin/execlineb
|
||||
|
||||
importas -ui name 1
|
||||
importas -ui rdfd ELSTATE_${name}
|
||||
backtick -E wrfd { s6-expr "$rdfd" + 1 }
|
||||
|
||||
fdclose ${rdfd}
|
||||
fdclose ${wrfd}
|
||||
|
||||
shift
|
||||
elgetpositionals
|
||||
$@
|
Loading…
Reference in a new issue