#! /usr/bin/env rc PROG=$0 if (~ $#NPS_HOST 0 ) NPS_HOST='nightfall.city' if (~ $#NPS_PORT 0 ) NPS_PORT='1915' if (~ $#NEX_PORT 0 ) NEX_PORT='1900' for (x in (. $XDG_CONFIG_HOME $home/.config) ) { if ( test -r $x^'/nps.secret' ) { secrets_file = $x^'/nps.secret' username = `{sed -e '1q;d' $secrets_file} token = `{sed -e '2q;d' $secrets_file} } } fn nps { 9 dial -e 'tcp!'^$NPS_HOST^'!'^$NPS_PORT } fn nex { 9 dial -e 'tcp!'^$NPS_HOST^'!'^$NEX_PORT } fn help { echo 'Syntax: '^$PROG^' {command}' echo 'commands:' sed -ne '/[#]#/s/^.*[#]#/|/p' < $PROG } fn die { echo $* >[1=2] exit 1 } fn dn { if (~ $#* 1) { { echo $*(1) } | nex } if not die requires 1 parameter } fn up { if (~ $#* 2) { { echo $*(1) echo $token cat $*(2) echo . } | nps } if not die requires 2 parameters } fn cmd { if (~ $#* 2) { { echo $*(2) echo $*(1) echo $token echo . } | nps } if not die requires 2 parameters } fn sigexit { if (! ~ $tmp 0) rm -f $tmp } if (~ $#* 0) { help } if not { switch($*(1)){ case upl* ## upload PATH FILE - upload FILE to PATH up $*(2) $*(3) case edi* ## edit PATH - edit PATH tmp=`{mktemp -u --suffix .nex} dn $*(2) > $tmp vim $tmp up $*(2) $tmp case del* ## delete PATH - remove PATH cmd DELETE $*(2) case mkd* ## mkdir PATH - create directory PATH cmd CREATE_DIR $*(2) case cat ## cat PATH - show contents of PATH dn $*(2) case wat* ## water - water the community garden { echo shore/garden/water/ echo $token echo . } | nps case * help } }