diff --git a/README.md b/README.md index 5c5147d..e457567 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ a simple shift register built on piperw(1) init-state load-state save-state +nuke-state ``` ```sh @@ -17,15 +18,18 @@ save-state 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 ``` diff --git a/nuke-state b/nuke-state new file mode 100755 index 0000000..8692814 --- /dev/null +++ b/nuke-state @@ -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 +$@