GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Already on GitHub? Sign in to your account
No description provided.
This one looks tough and by that I mean we'll need Leiningen + JDK in order to make this easy to get running. But these dependencies may be confusing to normal Visual Studio users who want to give vsClojure a try. I could be a little off base not knowing vsClojure very well but I think ClojureScript support starts to illustrate some shortcomings of how vsClojure is currently working. I've got some more thoughts on this and Leiningen, ClojureScript, etc.. I'm going to mull it over and comment again later.
Adding a ClojureScript REPL does not appear to have a sane implementation path in vsClojure that I can think of. The dependencies seems like a bridge too far. Starting a ClojureScript REPL can be done in a variety of ways and none of them are very simple or straightforward like starting a ClojureCLR or Clojure JVM REPL. I think the best way to support this may be to implement a shell tool window and have the user instantiate his own REPL in the normal way by picking any of the methods listed on the following page.
Honestly, what I'd really want is nREPL support and then provide a mechanism for vsClojure to connect to an already running REPL rather than do what we are doing now with the ClojureCLR REPL. I'd prefer something like what Eclipse + Counterclockwise does.
And even when I think about that I still want Leiningen support which makes working with ClojureScript blazingly easy and then I get frustrated because all of these tools are for Clojure JVM.
I guess the question is, is this worth the effort?
The current ClojureCLR REPL simply loads up the REPL .exe & puts it in a visual studio window. This allows sending text back & forth with visual studio. The REPL itself is not coded in vsClojure, just the communication between the two separate applications.
We technically already have a JDK dependency in order to compile ClojureScript at all. I don't see anything wrong with adding a dependency to leiningen if that's necessary in this case.
Based on the link you sent, it seems like starting a ClojureScript REPL requires installing a few things and running a few scripts. Why can't we include all those installs inside the .VSIX? Is it possible to just include the .dll/.exe files in the .vsix without doing a full install? Why can't we take the script that loads a REPL & compile it to a .exe & run that .exe the same as we do the current ClojureCLR REPL?
I'm probably misunderstanding something here. I think it's worth the effort, but I intentionally put it as version 3, instead of 2.2, because I felt like it was complicated enough to deal with further into the future.
I've done very little ClojureScript development personally, so I'm honestly uninformed. Am I oversimplifying this feature?
Would you prefer to scrap this feature altogether?
I don't have time to properly read through your reply just yet. A Clojurescript REPL can be ran via NodeJS or in Java land you can start a REPL via Leiningen and then if your project is all set up you can then run a Clojurescript REPL inside of it and then manipulate stuff on the DOM context. This also needs a connection on your page via Socket.IO if I am not mistaken. There are a lot of moving parts and ideally I'd like to keep those in their native land as much as possible because all that stuff is way complex.
I'll try to find some decent tutorials and or blogs that talk about it from the Java/Clojure/WebDev perspective so as to provide some insight here.
Will reopen once this becomes a priority