News for hackers. Stuff that matters.
Re:Cicada – Unix shell written in Rust by ori_b on Saturday July 01, 2017 @03:30AM (#14675890)
> It'd be great if there was a "standard" environment variable to toggle JSON input/output on for apps.

Look at FreeBsd's libxo. It's supported by most of the base system.

Re:Cicada – Unix shell written in Rust by drothlis on Saturday July 01, 2017 @05:54AM (#14676317)
It looks like libxo does the output in structured format, but what about input? (For chaining commands together with pipes). Did the FreeBsd porting work[1] implement the input side with libxo, independently of libxo, or not at all?

(Not to diminish libxo --it looks pretty cool, and I didn't know about it before-- just curious.)

[1]: https://wiki.freebsd.org/LibXo

Re:Cicada – Unix shell written in Rust by floatboth on Saturday July 01, 2017 @06:20AM (#14676387)
On the input side, FreeBSD prefers libucl https://github.com/vstakhov/libucl
Re:Cicada – Unix shell written in Rust by mioelnir on Saturday July 01, 2017 @01:23PM (#14677960)
I don't think input meant configuration file syntax here, but actual

    echo $somejson-jobspec | ifconfig
instead of

    ifconfig em0 inet 192.02.1/24 alias
Re:Cicada – Unix shell written in Rust by vidarh on Saturday July 01, 2017 @05:26AM (#14676232)
That looks very interesting, though I actually think that standardising on the command-line/env variable API is more important than an implementation. It's the moment you can "automagically" "upgrade" a pipe to contain structured data for apps that support it that you get the most value.

But given that it's there, I'll certainly consider it when writing tools, and consider supporting the command-line option/env var even if/when I don't use the implementation...

Re:Cicada – Unix shell written in Rust by ibotty on Saturday July 01, 2017 @05:07AM (#14676188)
Amazing! I did not know that.