@volrath amazing! Offline for a weekend and I miss a nice show!
Go offline more then š
So blob customization has landed in unrepl and BYOB in unravel!
lein unrepl-make-blob your-blob.clj '{:my.own/action (foo/bar #unrepl/param :baz)}'
is going to generate a custom blob with the addistional sessions actions. Plus the namespace foo
will be automatically required, you just have to put its implementation on the (sideloader) classpath.
@cgrand could I use this to bundle compliment?
A new PR to use compliment-based completion: https://github.com/Unrepl/unravel/pull/36
This needs to be enabled by passing a feature flag: --flag compliment
Using feature flag we'll be able to merge into master fearlessly
try --classpath /Users/pe/.m2/repository/compliment/compliment/0.3.1/compliment-0.3.1.jar --flag compliment
already works if I manually require 'compliment.corewith std or custom blob?
std blob
it's pretty slow though:
(time (require 'compliment.core))
"Elapsed time: 1276.006835 msecs"
but pretty cool that it works!
if compliment is directly on the target JVM, whatās (time (require 'compliment.core))
?
same!
java -cp /Users/pe/.m2/repository/compliment/compliment/0.3.1/compliment-0.3.1.jar:/Users/pe/.m2/repository/org/clojure/clojure/1.9.0-alpha14/clojure-1.9.0-alpha14.jar clojure.main
Clojure 1.9.0-alpha14
user=> (time (require 'compliment.core))
"Elapsed time: 1164.47074 msecs"
that's insane
java -cp /Users/pe/.m2/repository/medley/medley/1.0.0/medley-1.0.0.jar:/Users/pe/.m2/repository/org/clojure/clojure/1.9.0-alpha14/clojure-1.9.0-alpha14.jar clojure.main
Clojure 1.9.0-alpha14
user=> (time 'medley.core)
"Elapsed time: 0.043526 msecs"
patch or ditch?
Iām sure you doubted and thought the sideloader was to blame for slowness
I stand corrected
On another topic: guess-readable
is a very simple heuristic that checks if delimiters are well balanced and take care of escape sequences.
Thou shalt not doubt thy sydeloader
@cgrand as a first heuristic to get quicker feedback if parens are wrong?
idea: if I type )
in interactive mode, it automatically inserts the right closing paren, }
, ]
, or )
yes as a good enough heuristic
with a low risk of being broken by a syntax change (considering previous syntax changes)
makes sense
although not sure if it makes a difference perf-wise?
and not sensible to the #=(java.lang.System/exit 0)
attack š
haha
(I know thereās a flag for that)
it's not a bug it's a feature
you can do things without wearing out your enter key
evaluate code without sending it! the repl that reads your mind!
Between unravel
and unrepl.el
we should bang the drum.
Iāve slowly been realizing that npm readline is not libreadline
FYI that gif doesnāt display properly as itās behind slackās auth
thanks for porting this to my attention
youāre welcomeā¦ thanks for bringing this to mine! š
raaah I linked to unrepl/unrepl and not unrepl/unrepl.el
https://github.com/Unrepl/unrepl.el/commit/037c57205d44911adc236c5c57a4b9f35f2d8aed -- I guess this disclaimer is now important haha
these times were you miss <blink> tags
Uhm why is this? There is no require there..
@cgrand, yeah NPM's readline is a cheap knockoff
It doesn't even have ^R
slippery slope how?
counterpoint: chez's repl has it
I guess I need to explore a basic integration with vim now, unrepl has accelerated too quickly for me. I've just started an nrepl one!
that may be true
unrepl FOMO
Itās more clients catching up with the protocol.