Fork me on GitHub
#cursive
<
2021-01-27
>
Kari Marttila16:01:56

Is there a way to configure a hotkey so that using that hotkey I could activate either REPL 1 or REPL 2 (e.g. frontend / backend). I develop a full stack app and have both frontend and backend REPLs and jumping in the editor between frontend and backend code and would like to switch the active REPL using a hotkey instead of getting my hand from my dear Dygma Raise keyboard to the mouse and click the "frontend" or "backend" tab:

Kari Marttila09:01:28

Sorry for asking this here, it is IDEA specific and the same command that switches tab in any IDEA window. So, I have a hot key to switch focus to REPL window, then another hotkey to switch tab, hotkey to jump back to editor. Case closed.

aratare16:01:55

It would be nice if we can have a choice of which repl when sending forms.

aratare16:01:19

and evaluating such forms will automatically switch to the repl to show the results.

Joni08:02:38

I have a hotkey for focusing the repl then just switch tabs with ctrl + right/left arrow

Daniel Wellman20:01:14

Hello! I’m having problems opening a specific Leiningen project in IntelliJ 2020.3.2 with Cursive 1.10.0-2020.3. When I try to open the project folder (has a project.clj and no .idea folder or .iml) the idea.log has a message: ERROR - .LeiningenProjectOpenProcessor - Error opening project  java.lang.ClassCastException: class clojure.lang.Keyword cannot be cast to class java.lang.String I just tried creating a brand new Leiningen app and it opened fine, so I suspect there may be something with this specific project’s Leiningen configuration. Any suggestions where I should start investigating? I’ll post the full stack trace in a thread.

Daniel Wellman20:01:00

2021-01-27 14:54:49,532 [1409073]  ERROR - .LeiningenProjectOpenProcessor - Error opening project 
java.lang.ClassCastException: class clojure.lang.Keyword cannot be cast to class java.lang.String (clojure.lang.Keyword is in unnamed module of loader java.net.URLClassLoader @41915c2f; java.lang.String is in module java.base of loader 'bootstrap')
	at cursive.leiningen.project.LeiningenProjectOpenProcessor$getProjectInfo$1.run(ImportProject.kt:466)
	at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:962)
	at com.intellij.openapi.progress.impl.CoreProgressManager$4.run(CoreProgressManager.java:520)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$new$0(ProgressRunner.java:79)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:235)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:235)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:834)
2021-01-27 14:54:49,533 [1409074]  ERROR - .LeiningenProjectOpenProcessor - IntelliJ IDEA 2020.3.2  Build #IU-203.7148.57 
2021-01-27 14:54:49,533 [1409074]  ERROR - .LeiningenProjectOpenProcessor - JDK: 11.0.9.1; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o. 
2021-01-27 14:54:49,533 [1409074]  ERROR - .LeiningenProjectOpenProcessor - OS: Mac OS X 
2021-01-27 14:54:49,533 [1409074]  ERROR - .LeiningenProjectOpenProcessor - Plugin to blame: Cursive version: 1.10.0-2020.3 
2021-01-27 14:54:49,533 [1409074]  ERROR - .LeiningenProjectOpenProcessor - Last Action: WelcomeScreen.OpenProject 

markaddleman22:01:51

Can you post your project.clj? I'm guessing there is some non-standard data in there. Perhaps Leiningen is not sensitive to it but (obviously) Cursive is

markaddleman23:01:24

Yeah, I thought I recognized this error. It's because the project is using the "lein-v" Leiningen plugin.

markaddleman23:01:49

Notice that the version identifier in the project.clj is :lein-v - Cursive expects this to be a string.

markaddleman23:01:22

Normally, it is but the lein-v plugin allows it to be a keyword (it must play some games under the covers with Leiningen)

Daniel Wellman13:01:32

Oh! Thank you for pointing this out — I’ll look into the lein-v plug-in to learn more about that.