diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2021-10-13 09:08:59 -0700 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2021-10-13 09:08:59 -0700 |
commit | 2ade60747db41771498ab2b85ce6e3c3389f2c26 (patch) | |
tree | 302927100158a1b50954e5ca4cb5c564bf19beec /sys/cmd/rc/rcmain.unix | |
parent | d1a19f0d477a6249d8af9322317b8434b86260ea (diff) |
feat(rc): added unix port of rc with linenoise
Diffstat (limited to 'sys/cmd/rc/rcmain.unix')
-rw-r--r-- | sys/cmd/rc/rcmain.unix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sys/cmd/rc/rcmain.unix b/sys/cmd/rc/rcmain.unix new file mode 100644 index 0000000..42b3be4 --- /dev/null +++ b/sys/cmd/rc/rcmain.unix @@ -0,0 +1,35 @@ +# rcmain: unix version +if(~ $#home 0) home=$HOME +if(~ $#ifs 0) ifs=' +' +profile=$home/.rcrc +switch($#prompt){ +case 0 + prompt=('% ' ' ') +case 1 + prompt=($prompt ' ') +} +if(~ $rcname ?.out) prompt=('broken! ' ' ') +if(flag p) path=/bin +if not { + finit + if(~ $#path 0) path=(. /bin /usr/bin /usr/local/bin) +} +fn sigexit +if(! ~ $#cflag 0){ + if(flag l && test -r $profile) . $profile + status='' + eval $cflag +} +if not if(flag i){ + if(flag l && test -r $profile) . $profile + status='' + if(! ~ $#* 0) . $* + . -i /dev/fd/0 +} +if not if(~ $#* 0) . /dev/fd/0 +if not{ + status='' + . $* +} +exit $status |