This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-01-30
Channels
- # arachne (23)
- # bangalore-clj (2)
- # beginners (64)
- # boot (20)
- # cider (3)
- # clara (11)
- # cljs-dev (29)
- # cljsrn (10)
- # clojure (143)
- # clojure-brasil (4)
- # clojure-dev (22)
- # clojure-dusseldorf (3)
- # clojure-italy (26)
- # clojure-sanfrancisco (13)
- # clojure-seattle-old (2)
- # clojure-spec (15)
- # clojure-uk (27)
- # clojured (1)
- # clojurescript (52)
- # core-async (13)
- # cursive (2)
- # datomic (106)
- # fulcro (45)
- # garden (1)
- # graphql (11)
- # hoplon (98)
- # jobs (11)
- # juxt (7)
- # keechma (2)
- # leiningen (36)
- # off-topic (39)
- # parinfer (13)
- # re-frame (34)
- # reagent (5)
- # ring (1)
- # rum (4)
- # shadow-cljs (83)
- # sql (1)
- # timbre (1)
- # unrepl (49)
- # vim (1)
- # yada (42)
@doglooksgood whoa, nice!
Still can't understand the how things work in parinfer.js, so I wrote with my own understanding of what it should be. Now trying to find the solution for best performance, hope to be available soon.
@doglooksgood That’s a whole rewrite of smart mode?
Sounds good - I’ll be doing that in Cursive too. Make sure you check out the test cases though, there are lots of corner cases and Shaun put a lot of work into dealing with them.
@cfleming I'm stuck with the perf issue, emacs has some built-in support for query syntax of code. I use them to get some information like "whether the cursor is on comment or not?", instead of parse the code in string. but I found it is likely slower. Is cursive try to keep logic as the same as parinfer.js or write its own?
and I hope there's a post on how parinfer works, like in its homepage. 1 we remove the unstable close paren, 2 we insert the close paren according to the openers and indentation. obviously, this is a brief and the real is not simple like this. but I want a article for the rule of smart mode and the flow of how it works.
@doglooksgood Yes, Cursive uses a port of parinfer.js to Kotlin (based on parinfer-jvm, but my version is quite different from that now).