top | item 41401556

(no title)

xiaq | 1 year ago

Hey, it's my talk, AMA :)

If you're interested in Elvish, you may also be interested in the talk on its design - https://www.youtube.com/watch?v=wrl9foNXdgM

discuss

order

HeralFacker|1 year ago

Do you have a link to a copy of the video with captions? YouTube autogen doesn't cut it unfortunately. Or perhaps a written-form version (slide deck + transcript)?

What's in the 8% not covered by testing?

xiaq|1 year ago

I don't have a version with captions, sorry. You can find the slidedeck at https://github.com/elves/elvish/blob/master/website/slides/2...

The remaining 8% mostly falls into the following categories:

- Code that use OS functionalities that are cumbersome to mock in tests

- Code paths that are triggered relatively rarely and I was simply too lazy to add tests for them

Nothing is impossible to cover, but for whatever reason it was too much work for me when I wrote the code.

However, it's worth mentioning that I only settled on the transcript test pattern fairly recently, and if I were to rewrite or refactor some of the untested code today I would add tests for them, because the cost of adding tests has been lowered considerably. So Elvish's test coverage is still increasing slowly as the cost of testing decreases.

zvolsky|1 year ago

Hey, thanks again for the talk and for answering my fork bomb question with a live demo!

xiaq|1 year ago

Thanks for your question and glad that you enjoyed it!

0xdeadbeefbabe|1 year ago

In vim vi or nvim :r !date gives me shell returned 2

xiaq|1 year ago

Did you set your login shell to Elvish? Vim unfortunately relies on your shell being a POSIX shell, but you can fix that with "set shell=/bin/sh" in your rc file.

mpenick|1 year ago

Does elvish have a command history limit? Or is it configurable? I like a nearly infinite history.

xiaq|1 year ago

History entries are kept indefinitely.