This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-12-05
Channels
- # adventofcode (246)
- # aleph (5)
- # aws (7)
- # beginners (161)
- # boot (3)
- # calva (42)
- # cider (40)
- # clara (10)
- # cljdoc (7)
- # cljs-dev (40)
- # cljsrn (6)
- # clojure (170)
- # clojure-dev (8)
- # clojure-greece (2)
- # clojure-italy (15)
- # clojure-kc (2)
- # clojure-new-zealand (13)
- # clojure-nl (13)
- # clojure-russia (3)
- # clojure-spec (5)
- # clojure-uk (160)
- # clojurescript (72)
- # clojurex (1)
- # cursive (7)
- # data-science (9)
- # datascript (1)
- # datomic (120)
- # devcards (4)
- # emacs (18)
- # figwheel-main (10)
- # fulcro (34)
- # kaocha (3)
- # luminus (1)
- # lumo (6)
- # music (1)
- # nrepl (23)
- # off-topic (2)
- # pedestal (4)
- # re-frame (42)
- # reagent (36)
- # reitit (10)
- # ring-swagger (21)
- # shadow-cljs (124)
- # spacemacs (6)
- # tools-deps (14)
- # unrepl (3)
- # vim (2)
I decided to use updated dependencies ( figured out them by using lein ancient
) and it worked. ( And also, i started using Java version 1.8 )
Someone here knows how to set and remove breakpoints from VSCode when debugging clojurescript?
Don't about VSCode but I have heard source maps got worse in the latest ClojureScript version...in general difficult to create them for macros for instance
No, there's no debugging for clj in Calva. There is another extension that had that. I've been figuring on wether to contact that developer and check if there is a way he could make a version that only has the debugging stuff and that could then be used together with Calva. Today you have to choose, debugging or Calva.
There is practically no debugging for cljs either, the source maps are not accurate enough.
hey, @pez, from your experience, do you think it would be hard to make an extension to have better code navigation when dealing with the re-frame framework?
I like being able to jump to function definitions, i would enjoy being able to jump to subscriptions, events and effects definition too
I mean, if you say it is something ok/simple to do i will certainly learn about how to create extensions to do it
Sounds good. It would be nice if we could find a way where that extension was compatible with Calva and even could be using Calva infrastructure.
I don’t know how simple that extension would be to create though. I am not familiar with re-frame.
reframe calls some functions to define symbols as something ( like an event, effect or subscription )
I am right now trying to make a node module out of some of Calva’s functionality. That would include the nREPL connection. I think it might mean that other extensions could use that connection. But I am not sure if I will be able to get it there.
I often would like to navigate to #citrus controllers like that, so I think it is a nice problem to solve.
Is it possible for you to point me in which part of the code is implemented the F12
functionality? ( jump to function definition )
do you know how to point which part triggers it passing the args? like, when i press f12 over the symbol, which part of the code finds the definition?
and it looks like that that part actually gets the current word where i pressed the F12 on
https://github.com/BetterThanTomorrow/calva/blob/master/lib-src/calva/repl/message.cljs#L69
i would like to see how the part that gets functions definitions is implemented, like, if it do a kind of regex match on (def) or (defn) or if it uses some clojure repl resource that tells where the function was defined, etc
That happens here: https://github.com/BetterThanTomorrow/calva/blob/master/calva/utilities.ts#L53
So, definition.ts a message over nrepl that looks like {:op "info" :ns "my.client" :symbol "main" :session ... }
. CIDER is the one that adds a handler for "info" commands to respond to it - looking up a file and position - when given a symbol. If you added a handler for the same "info" command that finds re-frame definitions when given a keyword, it should work for your go-to-definition in Calva (and any other editor that uses similar commands)