expect(me).to.barf.when(i.see(shit.like(this)));assert(Object.is(foo.bar(), baq));
(where assert is magic that fails woth a friendly message when it's argument is falsy.
If you expect `assert(...)` to be magic enough to provide diffing and smart error messages because it's actually some kind of macro... then I guess we have different views on magic.
My point about completion is that if you do expect(a).<tab> with a smart library, the library can complete the list of assertions that apply to the type of `a`. Eg, if `a` is an Iterable, a good assertion library could complete `expect(a).toInclude(`. Jest doesn't do type-narrowed assertions (sad) but it could.
I was doing this to show people I could do it. I wasn't thinking of the people using my software but rather myself.
It's close enough to English that my brain tries to context switch from coding to writing English, but it's not close enough for that to actually work. It feels like I end up fighting my own mind.
I'm glad somebody has tried it so we know what it looks like, but personally I prefer the more "traditional" syntax.