• simongray 2 hours ago

    I've been using Parinfer with IntelliJ (Cursive) ever since I started developing Clojure professionally back in 2018. The best thing about Parinfer, or at least the implementation in Cursive, is that it doesn't preclude you from also mixing in some Paredit commands too.

    When you start out with Clojure/Lisp and you aren't totally used to parenthesis you can just use Parinfer to get editor behaviour similar to developing Python. It removes a major pain point of migrating to a Lisp. It used to be the case that you were forced to learn Paredit pretty much from the start.

    • Folcon 25 minutes ago

      I've used it for a number of years, but I do believe that while this is really helpful, it's a little incomplete.

      It has gaps around pasting content and how to handle that elegantly as well as comment behaviour, if those two things could be reconciled, it would be even more useful :)...

      • mkreis 2 hours ago

        This is really nice, and I am impressed how much effort went into the documentation, to make the demo nice and interactive.

        At first I thought this is something new, because it's cool and I haven't heard of it, even though I'm coding in Clojure for about 3 years now. But this project is already 10 years old and hasn't received much attention for the last few years, which is a pity. I wish it was coming with Calva, my favorite Clojure tooling in VS Code.

        • diggan an hour ago

          > I wish it was coming with Calva, my favorite Clojure tooling in VS Code.

          You have this basically already. When you move forms in/out on the indentation levels, notice how the brackets/parenthesis automatically re-arrange themselves? That means it's working :) https://calva.io/parinfer/

          • mkreis an hour ago

            Thanks for the link. Unfortunately it seems it is currently removed due to unclear bugs.

            • diggan 17 minutes ago

              Damn, you're right, I didn't notice the notice, nor am I a daily Calva user.

              But so what, is there no automatic balancing of parenthesis in Calva? That seems to diminish the value from the extension by a lot, I couldn't imagine coding Clojure and having to manually balance parenthesis.

          • simongray 2 hours ago

            AFAIK Calva does have a Parinfer implementation.

          • jordanrobinson an hour ago

            After using Parinfer for a few years the editing experience felt less like typing and more like a cross between magic and the scene from Ghost in the Shell with the split hands. It's a real shame they weren't able to add it to Calva.