This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-04-29
Channels
- # announcements (35)
- # aws (40)
- # babashka (10)
- # beginners (119)
- # calva (25)
- # cider (13)
- # clj-kondo (15)
- # cljsrn (23)
- # clojure (205)
- # clojure-dev (3)
- # clojure-europe (15)
- # clojure-germany (3)
- # clojure-italy (3)
- # clojure-nl (2)
- # clojure-uk (58)
- # clojurescript (193)
- # community-development (2)
- # conjure (147)
- # core-async (49)
- # cursive (47)
- # datomic (27)
- # duct (1)
- # fulcro (19)
- # graalvm (3)
- # graphql (1)
- # helix (3)
- # hoplon (11)
- # jackdaw (1)
- # joker (1)
- # juxt (5)
- # kaocha (1)
- # keechma (3)
- # lambdaisland (6)
- # local-first-clojure (27)
- # malli (5)
- # off-topic (41)
- # rdf (27)
- # re-frame (7)
- # reagent (15)
- # reitit (5)
- # rum (11)
- # shadow-cljs (157)
- # spacemacs (18)
- # sql (4)
- # xtdb (8)
Q: I’m using Specter heavily in my code. I get lots of warnings about not being able to resolve Specter path navigators, even though they are valid Clojure. They are required using something like
[com.rpl.specter :refer [select select-first transform setval
ALL LAST FIRST NONE INDEXED-VALS MAP-VALS MAP-KEYS BEGINNING END
must pred compact submap collect-one index-nav walker]]
How are they defined? I suspect it’s because they’re defined via a macro rather than how they’re referred.
Yep https://github.com/redplanetlabs/specter/blob/master/src/clj/com/rpl/specter.cljc#L679
this is the result in a 2kloc integration test. is a bit difficult to see test failures
Yep, resolve defnav as def: https://cursive-ide.com/userguide/macros.html#customising-symbol-resolution
cool. I didn’t connect the dots…that I can mark the macro used instead of the symbols created by the macro
hmm. can’t figure it out. tried resolving ALL as com.rpl.specter/ALL but it won’t accept it
One sec, I’m down in the weeds on another problem right now, will take a look in a bit.
Anyone know how to remove these warnings? I wonder if it is because Specter is a cljc based lib?
little newbie help. I'm getting "Error running 'Unnamed:' Unknown error" when trying to run the repl. I don't know how to get more info or expand some pane that has the error in it. Freshly setup cursive and intellij on a mac. does anyone know what window to open to see more info?
Is a way to print actual vs expected in more readable way? How do you deal with this?
It works great with =
but what about other fn to check conditions?
cursive it totally the best support for clojure coding so far just saying to make you happy 😉
it seems navigate back and wrap with [] both share the shortcut cmd [
. Is there a good way to regain the navigate back which seems pretty paramount? What do others use for this seemingly important keybinding?
You can always rebind action keys at Preferences | Keymap - no-one else has mentioned it, I think opinions differ on which actions are essential 🙂
actually… i filed a bug about this years ago: https://github.com/cursive-ide/cursive/issues/1892
It’s a problem though - IntelliJ binds nearly all the keys to actions. For a long time Cursive didn’t bind anything by default and allowed users to set it up themselves, but then users complained about that (much more than they have complained about built-in actions being overridden).
were those complaints before cursive introduced parinfer? if that’s the case then i can totally get behind their complaints since back then paredit was the only option and it would make total sense for cursive to offer the default paredit key bindings out of the box. but with parinfer, especially with version 3, i would expect the paredit key bindings to be optional and can be switched on/off with one check box. it happened a few times to me, where i had to manually remove those key bindings one at a time for our new users because they kept getting surprises and didn’t really know what was happening as they just didn’t know such a thing as paredit and its key bindings.
Well, previously the way it worked was that Cursive didn’t bind any keys at all, and there was a preference pane which users could use to apply different sets of keybindings, i.e. bulk-enable keybindings. It was really confusing for users to understand. The problem with having those bindings be optional is that it involves modifying the keymap, which are immutable by default (if you want to modify some key bindings, you have to create your own keymap based off one of the immutable default ones). Getting users to understand how to configure that when they click a checkbox is tricky.
yes, i remember that. i was among those who were confused. truth be told, i still don’t understand how it worked to this day. 😁 yeah, i’m aware that intellij idea key maps are immutable but if a plugin can bind (dynamically) some keys after installation without changing the current key map then, i thought, they should be able to dynamically unbind those keys as well?
anyhow, this is just a minor inconvenience (some times.) an ideal experience, IMHO, would be: • having a separate checkbox for toggling structural editing/navigation • parinfer by default (with structural editing/navigation off and enabled) for new installation only • if user switches to paredit, turn structural editing/navigation on and leave it disabled • if user switches back to parinfer, turn structural editing/navigation off but leave it enabled for user to toggle it on, if she/he chooses to
Ok, thanks for the thoughtful feedback. I’ll take another look at this and see if I can make that work. I agree that parinfer should be on by default rather than paredit, I’ve been meaning to change that for a long time.
Hi, sorry if this isn’t the correct place to bring this up, I’m happy to create github issue if that’s a better thing =)…
I’ve been speaking with the Jetbrains support about high memory utilisation of intellij and they’ve told me that I should contact cursive
after requesting a memory dump and noting that “Looks like it created several big objects in memory.”
My memory utilisation intellij is currently recorded as 9792mb
by top, intellij’s own memory meter is reading 2161mb
, my -xmx
is 3072mb
, this is a pretty substantive difference.
So what should I do?
Hi @U0567Q30W, sorry for not responding sooner, I didn’t see your prior messages. I am using parinfer yes. I sent them the hprof dump zipped which came out of their memory dump function. I have two such dumps, happy to share them if you have some way you prefer to receive them? They didn’t give me any details no.
Ok, no worries. I have some dumps myself which show a potential problem with the parinfer code, and I’m trying to figure out what the dumps mean.
To be clear, I’m not certain that the issue is coming from parinfer, just that I am using it =)…