Aha -- atom-beautify does seem to work! Excellent.
This will lead me to consider Atom further. Would you recommend it for editing only, or also for REPLs etc? I just tried proto-repl but this leads to errors and confusion. Still, if it works well as just an editor then perhaps I could pair it with a CLI-based REPL and the overall setup experience and usability will be okay overall. Thanks! -Lee On Monday, August 27, 2018 at 4:00:34 PM UTC-4, Nando Breiter wrote: > > Lee, > > Perhaps https://atom.io/packages/atom-beautify will do what you want. > > With Parinfer disabled, I can select and shift-tab all code to the left > margin, removing all indentation. Then when I run Atom Beautify on the > file, all indentation is restored. > > > > Aria Media Sagl > +41 (0)76 303 4477 cell > skype: ariamedia > > On Mon, Aug 27, 2018 at 9:18 PM, 'Lee' via Clojure < > clo...@googlegroups.com <javascript:>> wrote: > >> >> Ah -- thank you! >> >> Now I can re-indent in Cursive, although it doesn't do the right thing >> after defn, etc. What do Cursive users do to get standard indentation? >> >> Playing a bit more I see some other with basic editing, even in >> "Structural Off" mode. Like if you type "(defn foo" and hit return, then >> foo changes into some strange autocompleted symbol. Shift-return avoids >> this, but the idea is to let people use their pre-existing typing skills. >> It also won't let you delete to the left of the indentation point (it jumps >> you up to the previous line), etc. I'm not sure how problematic these >> issues would be. >> >> >> >> On Monday, August 27, 2018 at 3:01:37 PM UTC-4, ri...@chartbeat.com >> wrote: >>> >>> It’s under one of the code or refactor menus, you can auto-format or >>> auto-indent. >>> >>> On Aug 27, 2018, at 11:30 AM, 'Lee' via Clojure <clo...@googlegroups.com> >>> wrote: >>> >>> >>> Probably true that my requirements are a bigger challenge for >>> multi-language IDEs. I thought Eclipse/Counterclockwise did a reasonable >>> job of it back when that was an active project, but it was a bit rough too, >>> since there was a lot of incidental and distracting complexity in dealing >>> with Eclipse in general. >>> >>> I did see the "off" setting for parinfer/paredit in Cursive, but it's >>> not really "off" in the sense of behaving like a normal text editor, and I >>> don't see re-indentation anywhere. FWIW since this is for teaching I'm not >>> really interested in customization, just reasonable behavior out of the box. >>> >>> >>> On Monday, August 27, 2018 at 11:21:47 AM UTC-4, Rick Mangi wrote: >>>> >>>> Yeah, I actually just create projects with lein. If you right click on >>>> a project.clj you can just fire up a repl via lein and it works really >>>> well. There's 3 choices for parenthesis, there's again a little button on >>>> the bottom right to switch between parinfer/paredit and off. You can >>>> customize all of the code reformatting and you can even alias things like >>>> defnp and other macros to evaluate correctly. >>>> >>>> That said, a tool that supports dozens of languages isn't going to do >>>> any of them particularly easily :) >>>> >>>> >>>> >>>> On Mon, Aug 27, 2018 at 11:18 AM 'Lee' via Clojure < >>>> clo...@googlegroups.com> wrote: >>>> >>>>> Thanks Rick. >>>>> >>>>> Just tried Cursive again but it still seems to fail pretty badly on >>>>> newbie setup and usability, which is what has hung me up in the past. >>>>> >>>>> tldr: A half hour or so after a fresh install and going through the >>>>> Getting Started instructions I still don't have a REPL (confused about >>>>> Run >>>>> Configurations and what I'm seeing doesn't match the website pics), and >>>>> although I can edit code in an existing project with drag and drop (can't >>>>> yet create a project with a core.clj), even the "Structural Off" editing >>>>> mode behaves oddly and doesn't appear to support structure-aware >>>>> re-indentation (again, unless I'm missing it). And the indentation that >>>>> it >>>>> prefers after a newline appears to be non-standard (e.g. after "(defn >>>>> foo"). >>>>> >>>>> I follow the Cursive mailing list and I know that a lot of people find >>>>> it to be a wonderful tool, but I don't think it meets my requirements. >>>>> >>>>> -Lee >>>>> >>>>> >>>>> On Monday, August 27, 2018 at 10:43:36 AM UTC-4, Rick Mangi wrote: >>>>>> >>>>>> I find intellij + cursive to be pretty darn easy to use, and the repl >>>>>> has an option to turn off parinfer. That said, I'm not a beginner. The >>>>>> only >>>>>> drawback that I can think of other than price is that the clojure >>>>>> functionality is mostly put under a single menu and it's sometimes >>>>>> awkward >>>>>> to navigate to subcommands. >>>>>> >>>>>> >>>>>> >>>>>> On Mon, Aug 27, 2018 at 9:48 AM Alex Miller <al...@puredanger.com> >>>>>> wrote: >>>>>> >>>>>>> I think Atom and VSCode are probably the two additional ones you >>>>>>> might want to look into? >>>>>>> >>>>>>> On Monday, August 27, 2018 at 8:45:34 AM UTC-5, Lee wrote: >>>>>>>> >>>>>>>> This is my roughly-annual check-in to see if there are new good >>>>>>>> editing/execution options for me to use in my Clojure teaching and >>>>>>>> coding. >>>>>>>> >>>>>>>> My requirements are: >>>>>>>> >>>>>>>> - Simple installation/setup, even for new programmers, on >>>>>>>> Mac/Win/Linux >>>>>>>> >>>>>>>> - Usable by new programmers without significant training or >>>>>>>> learning curve >>>>>>>> >>>>>>>> - Syntax-aware re-indentation >>>>>>>> >>>>>>>> - Visual indication of matching brackets (e.g. matching bracket >>>>>>>> highlighted, or rainbow brackets, etc.) >>>>>>>> >>>>>>>> - No required use of paredit or parinfer >>>>>>>> >>>>>>>> Bells and whistles that would help but aren't as critical as the >>>>>>>> requirements listed above: >>>>>>>> >>>>>>>> - Access to argument lists, documentation, and symbol completion >>>>>>>> while typing >>>>>>>> >>>>>>>> - Integrated REPL, although a command-line REPL paired with an >>>>>>>> editor that met the requirements above would work >>>>>>>> >>>>>>>> I would be interested in solutions that work for Clojure and >>>>>>>> Clojurescript, or just Clojure, or just Clojurescript. >>>>>>>> >>>>>>>> Recent developments of which I'm aware but fall short of my >>>>>>>> requirements: >>>>>>>> >>>>>>>> - Nightcode and Lightmod, which would be fabulous if not for the >>>>>>>> required use of parinfer >>>>>>>> >>>>>>>> - Jupyter-based approaches, which also seem great except I see none >>>>>>>> with syntax-aware re-indentation for Clojure >>>>>>>> >>>>>>>> FYI what I'm currently using is a combination of Gorilla REPL and >>>>>>>> leiningen at the command line. This is quite nice although >>>>>>>> installation/setup is not as easy or foolproof as I would like (I've >>>>>>>> had >>>>>>>> students who tried and failed to get it working on their Windows >>>>>>>> laptops >>>>>>>> for an entire semester, messing with Java versions etc.), Gorilla REPL >>>>>>>> is >>>>>>>> not very actively maintained, and the requirement to do some things at >>>>>>>> the >>>>>>>> command line isn't ideal. >>>>>>>> >>>>>>>> Options I've used in the past, which more-or-less met my >>>>>>>> requirements but are no longer viable, include Clooj, Nightcode (old >>>>>>>> versions, before parinfer), and Counterclockwise. >>>>>>>> >>>>>>>> I also try to keep an eye on "high-end" IDEs like Emacs and >>>>>>>> Cursive, but so far haven't found any that really meet my requirements >>>>>>>> for >>>>>>>> simple installation/setup and usability for beginners. >>>>>>>> >>>>>>>> Any pointers would be very much appreciated! >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> -Lee >>>>>>>> >>>>>>>> -- >>>>>>>> Lee Spector, Professor of Computer Science >>>>>>>> Director, Institute for Computational Intelligence >>>>>>>> Hampshire College, Amherst, Massachusetts, 01002, USA >>>>>>>> lspe...@hampshire.edu, http://hampshire.edu/lspector/, 413-559-5352 >>>>>>>> >>>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "Clojure" group. >>>>>>> To post to this group, send email to clo...@googlegroups.com >>>>>>> Note that posts from new members are moderated - please be patient >>>>>>> with your first post. >>>>>>> To unsubscribe from this group, send email to >>>>>>> clojure+u...@googlegroups.com >>>>>>> For more options, visit this group at >>>>>>> http://groups.google.com/group/clojure?hl=en >>>>>>> --- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "Clojure" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to clojure+u...@googlegroups.com. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Clojure" group. >>>>> To post to this group, send email to clo...@googlegroups.com >>>>> Note that posts from new members are moderated - please be patient >>>>> with your first post. >>>>> To unsubscribe from this group, send email to >>>>> clojure+u...@googlegroups.com >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/clojure?hl=en >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Clojure" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to clojure+u...@googlegroups.com. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clo...@googlegroups.com >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+u...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/clojure?hl=en >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojure+u...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >>> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@googlegroups.com >> <javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+u...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.