@dominicm If it amounts to channels I can provide something to test. But I still use things like lambdas and partials. If that also is a problem....
@ @kotarak those were back ported. The neovim team strictly feel their channel implementation is better though.
Pffff.... maybe under the hood. Certainly not by API. I'm still puzzled about the EOF. Will provide you something this evening. If you like you can test. If it works, this can be probably abstracted away.
There is a library which abstracts already
Might be worth reading
I think there's a typo
> Alternatively the {stream}_buffered
option can be set to invoke the callback only when the underlying stream reaches EOF, and will then be passed in complete output.
Should be
> Alternatively the {stream}_buffered
option can be set to invoke the callback only when the underlying stream reaches EOF, and will then be passed complete output.
The neovim gitter is good if you have questions
@cgrand It has to be a map?
No (apply merge ...)?
More voodoo heuristic and regex trickery.
@kotarak how do you plan to use it (in very detailed terms)?
Would an option that creates a partial blob to which you would need to append your maps and then ’]\n` be ok or do you prefer a eady made blob and substitue something in it?
My use case is the "multiple plugins" scenario. Each provides it's own actions map. However, they simply be string concated. They have to be read to be merged. But this is hard because of the representation. Just reading the files and wrapping everything in a pair of []s would be nice. But anyway: I've got a regex, which strips the outer {}s including some possible leading comments. Then I can concat again and wrap {}s.
This works. Modulo key uniqueness.
I just prefer something more robust. regex always make me feel uneasy. But the heck. The EDN parser is now full of 'em.
🤦
make-blob still takes the actions map.
That kind of defeats the purpose....
oh. And the EDN parser currently doesn't understand. #:foo{:bar :baz}.
More things to fix.
That is also not possible for the action map, btw.
At least not with regexes....
Baby steps
This is what I would propose. Please note the lack of voodoo. Whatever your opinion: the marked line contains a bug.
With these changes a vimpire with sunscreen can prey on innocent clojure processes without ever invoking base64 in a Makefile. And extensibly so.
Also note: by that change unrepl can provide the blob, and the user never has to generate it.
I was investigating why the process was shouting exceptions at me. Turned it read an empty map. And then mine. That of course failed because of the tagged literals.
I agree with the general direction (I intended to move this stuff from make-blob to repl too). I’ll give a closer look tomorrow.