Fork me on GitHub
#cursive
<
2022-04-04
>
Andrea11:04:26

Hello Cursivists 👋, I’m trying to connect to an nREPL opened by https://github.com/babashka/nbb (a Node / Babashka interpreter for cljs). I’m launching an nREPL server via nbb (a Node process) and configuring Cursive nREPL connection accordingly, but, launching a repl I’m getting errors like:

Connecting to remote nREPL server...
Error updating completions:
Could not resolve symbol: cursive.repl.runtime/completions
Error getting documentation:
Could not resolve symbol: java.lang.System/getProperty 
in cursive repl console or like
Unable to resolve classname: java.io.PrintWriter
in nbb console. Is it correct to say Cursive always assumes a JVM on the other end of the connection? Can we disable such assumptions via e.g. some configuration in Settings→Languages &amp; Frameworks→Clojure to not eval Java specific code on e.g. connect? Thanks in advance for any advice 🙂

👍 3
Andrea11:04:18

cc #nbb

👋 2
cfleming20:04:03

So Cursive doesn’t assume there’s a JVM, but it does try to detect the server type (e.g. CLJS, Babashka) and falls back to assuming a JVM if it can’t. could you file an issue, and I’ll take a look at what would be needed for nbb.

🙏 1
💯 1
borkdude09:04:21

@U0567Q30W Thanks for being open to this!

borkdude09:04:12

@U0567Q30W If you need anything, feel free to ping me here or in #nbb

genekim17:04:36

Purely FYI and For Your Amusement: last week, @tony.kay told me about how he uses the IntelliJ vim emulation. I was 🤯🤯🤯 — I’ve often internally lamented in my head about how amazing it’d be to do vi-like things, like navigate, set and use bookmarks with ma, use sed commands like 'a,'bs/abc/xyz/. I’ve been using vim emulation for 48 hours with cursive, and it is 🔥🔥🔥. Not sure I’ll use it all the time and forever, as it does strange things with parinfer — but it’s been amazing to use decades of vi muscle-memory, and do things you can only do in vi. Highly recommended to look at if you ever missed vi.

tony.kay18:04:30

Yeah, if you’re going to use vi mode, I highly recommend turning structure OFF, and learning the proper structural editing kb shortcuts (slurp/barf/raise/surround/etc.).

jtth22:04:41

i forget where i got this but this might help some (i haven’t used it extensively b/c i am without a clojure project right now)

""" Cursive-specific stuff
nnoremap J :action :cursive.actions.paredit/forward<CR>
nnoremap K :action :cursive.actions.paredit/backward<CR>

nnoremap H :action :cursive.actions.paredit/barf-forwards<CR>
nnoremap L :action :cursive.actions.paredit/slurp-forwards<CR>

nnoremap m :action :cursive.actions.paredit/move-form-down<CR>
nnoremap M :action :cursive.actions.paredit/move-form-up<CR>

nnoremap z :action :cursive.repl.actions/run-top-sexp<CR>
vnoremap z :action :cursive.repl.actions/run-top-sexp<CR>

jtth22:04:07

for your ~/.ideavimrc