Comments (17)
Sounds like a good idea to ask the user first, before closing an existing connection.
from cider.
Yeah, that's what clojure-jack-in
currently does with swank. But nrepl.el could probably be smarter and support multiple connections. Just want to know whether that's a desired feature or not.
from cider.
Just speaking for myself of course, but I usually start a dedicated Emacs on a dedicated desktop for larger things. But then again from what I read on the net, other people seem to prefer one Emacs for everything. So maybe the conclusion is, that it's probably desired but not with very high prio right now. :)
from cider.
I think nrepl.el could absolutely support multiple connections. The only question in my mind is how much demand there is for it.
I'm not sure I would use that feature much myself, and I am more than happy to start up multiple instances of emacs if necessary.
Are you in favor of multiple or single connection, @technomancy ?
from cider.
In theory I believe nrepl.el should support multiple connections, but personally I'm not interested in using it; I never work on more than one project in a given Emacs instance. So I probably won't implement it.
The reason I'm asking is that I'd like to make restarting nicer. This is really easy if we can assume that there's only one connection. If we assume that we're going to be supporting multiple connections then each connection has to be associated with a project root, which makes it a bit trickier.
from cider.
Lets just go with a single connection for now.
from cider.
+1 for single connection
from cider.
I agree with @technomancy that nrepl.el should support multiple connections, even if adding that support isn't the highest priority in the short term. It ideally shouldn't be necessary to run multiple Emacs instances in order for things to work right when fiddling with a couple of projects.
Most state (request queue etc.) is already centralised in the connection buffer, so it seems to me that we could get a long way by replacing uses of "*nrepl-connection*"
with an nrepl-current-connection
function which knows how to locate the connection buffer for any given source (or repl) buffer. Raising an error from that function when no corresponding session is found would likely be a neat way to degrade the clojure-nrepl functionality when working in unconnected projects.
from cider.
+1 for multiple connections - I love the idea of associating buffers/projects to connections. I'd use it constantly.
I'm inclined to try pitch in and help on this if that's the only reason you'd rather not go with multiple connections?
from cider.
Thanks for the feedback everyone. Seems like there is plenty of interest so we should do it.
And I think you are correct @purcell, that seems like a good way to approach it.
@CmdrDats if you feel like taking a swing at it I'd say go for it. For the record, I always thought we could and should support it, just wasn't a high enough priority for me.
from cider.
The other nice thing about this is that it would give slime users more incentive to switch to nrepl since this is one of the things slime does a really bad job at. =)
from cider.
@hugoduncan addressed this in #238. I guess @kingtim should close this ticket and the other duplicate once #238 gets merged.
from cider.
Since #238 is now merged I guess we can close this one. @technomancy @kingtim
from cider.
+1 for multiple connections -- it's the main reason I'm still using slime (@technomancy I think slime does a decent job with multiple connections). My main use case is to be able to hack on multiple projects by keeping the namespace of each project clean, and also to be able to hack things locally while at the same time debugging a remote server over its REPL.
from cider.
@stathissideris This has already been implemented :-)
from cider.
@bbatsov oops, sorry, I assumed that multiple connections were not available because the issue is still marked as open.
from cider.
No worries. I guess @kingtim just forgot to close it. I had several duplicates lying around.
Cheers,
Bozhidar
On Wednesday, April 3, 2013 at 12:29 PM, Stathis Sideris wrote:
@bbatsov (https://github.com/bbatsov) oops, sorry, I assumed that multiple connections were not available because the issue is still marked as open.
—
Reply to this email directly or view it on GitHub (#34 (comment)).
from cider.
Related Issues (20)
- How do I cancel debugger-marked items? HOT 1
- State of CIDER survey? HOT 8
- Completion can trigger unwanted user prompts HOT 5
- `cider-docstring--format` breaks some formatting HOT 16
- Rename private functions in `cider-docstring.el` to have proper prefix HOT 4
- Unable to boot cider off a fresh corgi install? HOT 23
- cider using scittle nREPL doesn't send forms to REPL HOT 14
- Remove all code related to sideloading HOT 2
- Fringe indicators for sucessful/failed tests HOT 1
- Defining a now-deprecated variable `x-gtk-use-system-tooltips` HOT 8
- Issue with refresh operation after updating to nrepl `1.3.0-beta2` HOT 15
- cljs repl switches to previous ns after cider-repl-set-ns change followed by single eval (again) HOT 7
- Weird debugger behavior, not firing on some cases
- CIDER connects to remote nrepl server instead of localhost HOT 3
- `cider-pprint-eval-last-sexp-to-comment` forgets "Elapsed time"
- Remove support for sideloading HOT 3
- `cider-doc` not recognize the right function. HOT 3
- add-lib fails when called from CIDER repl HOT 8
- CIDER trace should return inspectable data (not text) HOT 1
- Evaluating a value with custom print has weird behavior
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cider.