This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-12-22
Channels
- # adventofcode (35)
- # beginners (137)
- # braveandtrue (1)
- # calva (33)
- # cider (40)
- # cljsrn (4)
- # clojure (10)
- # clojure-spec (26)
- # clojure-uk (29)
- # clojurescript (18)
- # core-async (6)
- # cursive (1)
- # emacs (2)
- # figwheel-main (17)
- # fulcro (28)
- # jobs-discuss (4)
- # leiningen (1)
- # lumo (19)
- # off-topic (2)
- # om-next (1)
- # reitit (2)
- # rum (8)
- # spacemacs (19)
- # tools-deps (9)
- # yada (3)
This is a VSIX of Calva built using the new socket connection management I’ve mentioned. All tests I throw at it indicates that nothing that previously worked, would now be broken, and it really should only improve on things. I would appreciate some more people testing it before I release it on the marketplace. This version logs a lot of it’s nrepl connection/messaging successes and failures. So if you open the Development tools console you should see it fail decoding some huge messages right after the connection is established but after that it should mostly log a *results pending: {}
. Now and then there are messages pending, but they shouldn’t stay there. If they do, please let me know.
in eg https://github.com/BetterThanTomorrow/calva-lib/blob/master/src/calva/repl/client.cljs#L54
I’d suggest teasing this apart a bit, so that the inner anon-fn becomes a top-level fn with a clear name. This way, it can be tested somewhat in isolation, and it’s easier to play with in the repl.
Also, the way you’re deref’ing and swapping on the same atom inside that inner anon-fn is somewhat of an anti pattern, as the content of the atom can change between the derefs and the swaps.
that forwards/backwards kill-sexp isn’t putting stuff in the copy/paste buffer is killing me 🙂
Thanks @slipset . I have been wanting to get it a bit more composer of smaller things, but haven't had a good idea about how to do it. It got pretty hard to work with because i couldn't use the repl.
https://github.com/BetterThanTomorrow/calva-lib/compare/master...slipset:example-refactoring
BTW, this line looks kind’a strange? https://github.com/BetterThanTomorrow/calva-lib/blob/master/src/calva/repl/client.cljs#L80
The kill commands should be renamed to delete, so that they don't give the impression of going what emacs’ kill commands do.
========= Running Tests =======================
SHADOW import error /Users/erik/Documents/github.com/calva-lib/.shadow-cljs/builds/test/dev/out/cljs-runtime/shadow.js.shim.module$paredit.js
Error: Cannot find module 'paredit.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:603:15)
at Function.Module._load (internal/modules/cjs/loader.js:529:25)
at Module.require (internal/modules/cjs/loader.js:657:17)
at require (internal/modules/cjs/helpers.js:22:18)
at /Users/erik/Documents/github.com/calva-lib/.shadow-cljs/builds/test/dev/out/cljs-runtime/shadow.js.shim.module$paredit.js:3:33
at global.SHADOW_IMPORT (/Users/erik/Documents/github.com/calva-lib/test-out/tests.js:59:44)
at /Users/erik/Documents/github.com/calva-lib/test-out/tests.js:3028:1
at Object.<anonymous> (/Users/erik/Documents/github.com/calva-lib/test-out/tests.js:3090:3)
at Module._compile (internal/modules/cjs/loader.js:721:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
===============================================
[:test] Build completed. (84 files, 2 compiled, 0 warnings, 0.43s)
Good spotting about that bug with associng :message
. The reason things still work is that I had that there for only to be able to see in the debug printing which nrepl message goes with which result.