This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-11-28
Channels
- # admin-announcements (1)
- # aleph (3)
- # bangalore-clj (4)
- # beginners (167)
- # boot (14)
- # cider (4)
- # cljs-dev (24)
- # cljsjs (21)
- # cljsrn (33)
- # clojure (214)
- # clojure-greece (2)
- # clojure-italy (2)
- # clojure-korea (16)
- # clojure-russia (29)
- # clojure-spec (31)
- # clojure-uk (86)
- # clojurescript (144)
- # core-matrix (2)
- # cursive (37)
- # datascript (5)
- # datomic (104)
- # devcards (2)
- # events (2)
- # jobs (2)
- # luminus (8)
- # midje (1)
- # nyc (4)
- # off-topic (1)
- # om (39)
- # om-next (1)
- # onyx (47)
- # perun (1)
- # planck (6)
- # proton (2)
- # re-frame (25)
- # reagent (40)
- # spacemacs (9)
- # vim (71)
- # yada (3)
@jebberjeb Do you have any ideas on how Socket REPL client could distinguish stdout and return values?
@juhoteperi I've thought about it a bit -- no, not really.
Perhaps the calls should be wrapped inside some special values, like generated ids, so they could be detected
Doesn't fell very pretty.. but I don't see what other solutions there are
You could use a custom repl function to do it, but that would mean including that code in your project somehow.
I don't like that
It should be possible to connect to any random project or already running app without changing the app
I've been using it for a few weeks now, and I'm able to do most of my workflow without request / response. But I've always liked a more spartan setup -- that's sort of the point of it. Still, would like to have it.
Will be interesting to see how it is possible to implement autocomplete etc. with this
I fear it will require injecting some code into the running app
Yeah it is not very good idea when connecting to a production app
Hmm, I remember seeing some application to record gifs from Vim
Or maybe terminal in general
I'll try to find some Vim plugin with a good gif and see how it is created
I don't think that will display the key presses in Vim
:Connect
command clashes with Fireplace
Fireplace only created the commands when opening Clojure buffers, so I can use SocketRepl :Connect
before opening any Clojure buffers
@jebberjeb I added syntax highlighting for the log buffer: https://github.com/jebberjeb/clojure-socketrepl.nvim/pull/1
In a way, the separate buffer is even better than Fireplace as it allows easy syntax highlighting
@juhoteperi that's true about :Connect
, taking a look at your PR, thank you.
Trying to set better statusline for the log buffer also but that seems to be harder (airline is overwriting it for me)
@juhoteperi merged
Thanks
I wonder if it is possible to use same bindings as fireplace, based on which has been connected to repl
I'm so used to cpp
and cpr
that I don't want to change
Probably a way to detect whether a mapping exists, no? But then, maybe plugin load order would matter.
Fireplace creates the bindings when opening buffer with Clojure filetype
We could do the same
And maybe so something to overwrite Fireplace when connecting
So here's my thinking there. Part of the reason I didn't do that was so in any buffer, I could just eval some stuff. Whether or not vim understands that its clojure, or if it's just some snippet embedded in markdown. I'm not sure if that's useful though.
Aah, it is nice to be able to run Thead/sleep etc. blocking stuff without blocking Vim ui
Hmm, there is some merit in that
Perhaps it is best to leave the bindings to user and provide example on how to configure the bindings so that this can be used with Fireplace
I'm still somewhat skeptical about implementing the client in Clojure, as it requires 5MB jar in the repo and start up takes a few seconds
But in the long run it can be very useful
Afaik node plugins still require additional install steps
Python is the most user friendly and best supported probably
But the startup is not too bad now
And it is anyone only done one per session
Starting up socket repl server + and the client is now like 5sec
It is much less than starting nrepl server 😄
Though I'm testing with a empty project so no application dependencies
I'm working on a project with quite a few dependencies and a decent amout of code, and dropping nRepl has been nice. Socket repl startup is fast.
Feel free to create issues or update TODO for any of these ideas @juhoteperi. vim-outliner is the plugin I use for the TODO.
Once we find a way to get result for certain evaluation, it will be easy to implement jump to source etc.
Ah, Slack doesn't play gifs
ttyrec + ttygif works, but it seems to be quite hard to record good quality example & tune the window size and font size for best quality