~> curl https://api.github.com/repos/elves/elvish/issues | from-json|each$explode~| each[issue]{echo$issue[number]: $issue[title]}| head -n 11 366: Support searching file from elvish directly 364: Ctrl-C in elvish kills Atom in background 357: Asynchronous syntax highlighting 356: In web backend, run commands with pty IO, not pipe 354: Support multi-line prompts from byte output 353: Completers should detect context in a top-down manner 352: Quoted command names are highlighted randomly 351: keep navigation mode open after command 350: Raw mode requires two presses of ^V 344: Elvish won't compile 343: Possible to suppress job control messages?
Powerful Pipelines
Text pipelines are intuitive and powerful. However, if your data have
inherently complex structures, passing them through the pipeline
often requires a lot of ad-hoc, hard-to-maintain text processing code.
Pipelines in Elvish can carry structured data, not just text. You can
stream lists, maps and even functions through the pipeline.
~> if$true{echo good }else{echo bad } good ~> forx[lorem ipsum]{ echo$x.pdf } lorem.pdf ipsum.pdf ~> try{ fail'bad error' }excepte{ echo error $e }else{ echo ok } error ?(fail 'bad error')
Intuitive Control Structures
If you know programming, you probably already know how
if looks in C. So why learn another syntax?
Control structures in Elvish have an intuitive C-like syntax.
The wonderful fishroom service connects all of them together. So just join whichever channel suits you best, and you won’t miss discussions happening in other channels.
If you are interested in contributing to Elvish, you can also discuss at #elvish-dev on freenode, elves/elvish-dev on Gitter or @elvish_dev on Telegram.